Touch Input Cursor Manipulation

ABSTRACT

An electronic device selects content and moves selected content displayed on a touch screen display. Content of an electronic document is displayed, and a selection input corresponding to selection of a respective portion of the content (selected content) is detected. In response, the device concurrently displays the selected content with a changed appearance, to indicate the selection, and a set of options related to the selected content. In response to detecting a single touch input at a location over the selected content, if the single touch input remains, during a first portion of the single touch input, at the location for a predetermined amount of time, followed, during a second portion of the single touch input, by a continuous touch gesture away from the location, the representation of the selected content is moved to a different location in a direction of the continuous touch gesture.

RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No.16/258,394, filed Jan. 25, 2019, which is a continuation of U.S.application Ser. No. 15/499,693, filed Apr. 27, 2017, now U.S. Pat. No.10,222,980, which is a continuation of U.S. patent application Ser. No.14/866,361, filed Sep. 25, 2015, now U.S. Pat. No. 9,639,184, which is acontinuation of U.S. patent application Ser. No. 14/864,737, filed Sep.24, 2015, now U.S. Pat. No. 9,785,305, which claims priority to U.S.Provisional Patent Application Ser. No. 62/215,720, filed Sep. 8, 2015,U.S. Provisional Patent Application Ser. No. 62/213,593, filed Sep. 2,2015, U.S. Provisional Patent Application Ser. No. 62/172,162, filedJun. 7, 2015, and U.S. Provisional Patent Application Ser. No.62/135,619, filed Mar. 19, 2015. All of these applications areincorporated by reference herein in their entireties.

TECHNICAL FIELD

This disclosure relates generally to electronic devices withtouch-sensitive surfaces, and in particular to cursor manipulation andcontent selection in an electronic document.

BACKGROUND

The use of touch-sensitive surfaces as input devices for computers andother electronic computing devices has increased significantly in recentyears. Exemplary touch-sensitive surfaces include touch pads and touchscreen displays. Such surfaces are widely used to review and editelectronic documents by manipulating a cursor within the electronicdocument presented on a display. These electronic documents are viewedor edited within applications having viewing and editing capabilities(e.g., drawing applications, presentation applications (e.g., Apple'sKEYNOTE, or Microsoft's POWERPOINT), word processing applications (e.g.,Apple's PAGES or Microsoft's WORD), website creation applications,spreadsheet applications (e.g., Apple's NUMBERS or Microsoft's EXCEL)).

Conventional cursor manipulation methods that require the use of amouse, or other peripheral input mechanism, are relatively inefficientas they require the user to move one hand away from the keyboard to themouse in order to make the selection. Similarly, conventional userinterfaces provided on touch screen displays do not provide a simple andintuitive way to manipulate the cursor for content selection andediting. As such, it is desirable to provide a more efficient means formanipulating a cursor displayed in an electronic document presented on atouch screen display.

SUMMARY

Accordingly, there is a need for electronic devices with faster, moreefficient methods and interfaces for cursor manipulation and content(e.g., text) selection. Such methods and interfaces optionallycomplement or replace conventional methods for cursor manipulation andcontent selection. Such methods and interfaces reduce the number,extent, and/or nature of the inputs from a user and produce a moreefficient human-machine interface. For battery-operated devices, a moreefficient input mechanism also requires less computing resources,thereby increasing battery life of the device.

In order to manipulate a cursor in a document on a conventional portablemultifunction device, users often need to make finger contact withprecise locations on a touch sensitive screen at the location of thecursor. This is often difficult and the user cannot see the preciselocation of the cursor under their finger.

The above deficiencies and other problems associated with userinterfaces for electronic devices with touch-sensitive surfaces areaddressed by the devices and methods described herein. The methodsdescribed herein allow a user manipulate a cursor and perform editingfunctions, such as text selection and moving a selection, from any partof the touch-sensitive surface. For example, a two-finger touch inputcan be detected anywhere on the touch screen, including over thekeyboard. Users can greatly benefit from this for at least two reasons.First, the multi-finger gesture detection can be distinguished from asingle-finger detection (e.g., single-finger taps), so that asingle-finger contact or gesture at the keyboard can be reserved forother functions, e.g., text entry. Second, it allows for a moreefficient user input because the user does not have to consider wherethe cursor gestures are being made (e.g., the user need not be concernedabout inadvertent key activation) and can instead focus on the movementof the cursor.

In some embodiments, the device is portable (e.g., a notebook computer,tablet computer, or handheld device), while in other embodiments, thedevice is a desktop computer. The device has a touch-sensitive display(also known as a “touch screen” or “touch screen display”), and in someembodiments it also includes a touchpad.

In some embodiments, the device has a graphical user interface (GUI),one or more processors, memory and one or more modules, programs or setsof instructions stored in the memory for performing multiple functions.In some embodiments, the user interacts with the GUI primarily throughtouch inputs, including finger contacts and gestures, on thetouch-sensitive surface. In some embodiments, the functions optionallyinclude image reviewing, editing, drawing, presenting, word processing,website creation, authoring disks, spreadsheet creation or editing,playing games, using a telephone on the device, video-conferencing,e-mailing, instant messaging, digital photography or videography, webbrowsing, playing digital music or video, note taking, or the like.Executable instructions for performing these functions are, optionally,included in a non-transitory computer readable storage medium or othercomputer program product configured for execution by one or moreprocessors.

In accordance with some embodiments, a method of cursor manipulation isperformed at a portable multifunction device including one or moreprocessors, memory, and a touch screen display. The method includes:displaying content of an electronic document on the display; displayinga cursor within the electronic document; detecting two substantiallysimultaneous touch inputs anywhere on the touch screen display; and inresponse to detecting the two substantially simultaneous touch inputs:selecting a portion of the content in the document closest to thecursor; and displaying the portion of the content as selected content.

In accordance with some embodiments, the method of cursor manipulationfurther includes: while the portion of the content is displayed asselected content, detecting an additional two substantially simultaneoustouch inputs anywhere on the touch screen display; in response todetecting the additional two substantially simultaneous touch inputs,selecting a first expanded portion of the content that includes theportion of the content; and displaying the first expanded portion asselected content.

In accordance with some embodiments, the method of cursor manipulationfurther includes: while the first expanded portion of the content isdisplayed as selected content, detecting an additional two substantiallysimultaneous touch inputs on the touch screen display; in response todetecting the additional two substantially simultaneous touch inputs,selecting a second expanded portion of the content that includes theexpanded portion of the content; and displaying the second expandedportion as selected content.

In accordance with some embodiments, the method of cursor manipulationfurther includes: while the second expanded portion of the content isdisplayed as selected content, detecting an additional two substantiallysimultaneous touch inputs on the touch screen display; in response todetecting the additional two substantially simultaneous touch inputs,selecting a third expanded portion of the content that includes thefirst expanded portion of the content; and displaying the third expandedportion as selected content.

In accordance with some embodiments, the content includes text and theportion of the content is a word located closest to the cursor in thetext, the expanded portion is a sentence, the first expanded portion isa paragraph, and the second expanded cursor is a page.

In accordance with some embodiments, the content includes text and theportion of the content is a word located closest to the cursor.

In accordance with some embodiments, the method of cursor manipulationfurther includes: detecting lift-off of the two substantiallysimultaneous touch inputs from the touch screen display, followed by anadditional two substantially simultaneous touch inputs anywhere on thetouch screen display; detecting a continuous touch gesture fromlocations of the additional two substantially simultaneous touch inputson the touch screen display to additional locations on the touch screendisplay; and in response to detecting the continuous touch gesture,expanding the selected content to include additional content beyond theportion in a direction of toward the additional locations.

In accordance with some embodiments, the method of cursor manipulationfurther includes: detecting a first touch input on the touch screendisplay at a first location within the expanded selected content;detecting, substantially simultaneous with the detection of the firsttouch input, a second touch input at a second location within theexpanded selected content; and in response to detecting the first andsecond touch inputs, expanding the display of the selected content basedon the selected content.

In accordance with some embodiments, the method further includes: upondetermining that the two substantially simultaneous touch inputs remainin contact with the touch screen display, detecting a continuous touchgesture at least partially across the touch screen display fromlocations of the two substantially simultaneous touch inputs; inresponse to the gesture, expanding the selection of the content beyondthe portion of the content in a direction of the gesture.

In accordance with some embodiments, the cursor is an insertion point.

In accordance with some embodiments, the method of cursor manipulationfurther includes: detecting an additional two substantially simultaneoustouch inputs on the touch screen display at respective first and secondlocations within boundaries of the selected content; upon determiningthat the two substantially simultaneous touch inputs remain in contactwith the touch screen display, detecting a continuous touch gestureacross the touch screen display; in response to detecting a lift off ofthe continuous touch gesture, moving the selected content to a differentlocation.

In accordance with some embodiments, the method of cursor manipulationfurther includes: prior to moving the selected content to the secondlocation, displaying a ghost cursor offset from the selected content,wherein the ghost selection moves with the continuous touch gesture,wherein the different location is the location of the ghost cursor atthe time of the lift off.

In accordance with some embodiments, a method of cursor manipulation isperformed at a portable multifunction device including one or moreprocessors, memory, and a touch screen display. The method includes:displaying content of an electronic document on the touch screendisplay; displaying a cursor at a current location within the content onthe touch screen display; detecting two substantially simultaneous touchinputs at a first region on the touch screen display; upon determiningthat the two substantially simultaneous touch inputs remain in contactwith the touch screen display, detecting a continuous touch gesture froma location of the two substantially simultaneous touch inputs across thetouch screen display from the first region to a second region; and inresponse to detecting the continuous touch gesture: moving the cursorfrom the current location to a new location in a direction of thecontinuous touch gesture.

In accordance with some embodiments, a distance between the first regionand the second region is substantially the same as a distance betweenthe current location and the new location.

In accordance with some embodiments, the method further includes: whilemoving the cursor, displaying a ghost cursor offset from the cursor; andupon detecting a termination of the continuous touch gesture, placingthe cursor at the location of the ghost cursor and ceasing the displayof the ghost cursor.

In accordance with some embodiments, displaying the cursor at a currentlocation includes displaying a selection of a portion of the content atthe current location, moving the cursor from the current location to anew location in a direction of the continuous touch gesture includes:dismissing the selection and moving the cursor from the current locationto the new location.

In accordance with some embodiments, a method of cursor manipulation isperformed at a portable multifunction device including one or moreprocessors, memory, and a touch screen display. The method includes:displaying text on the display; displaying a cursor at a line within thetext; detecting a two-finger swipe gesture on the touch screen displayin a direction at least partially parallel to the line and towards anedge of the touch screen display; and in response to detecting thetwo-finger swipe gesture moving the cursor to a distal point of thetext. For example, an end or beginning of a line or a top or bottom of apage or document.

In accordance with some embodiments, the detecting requires that thetwo-finger swipe gesture be performed at a speed higher than apredetermined speed.

In accordance with some embodiments, the distal point of the text is ata location in the direction of the gesture. For example, an end orbeginning of a line or a top or bottom of a page or document.

In accordance with some embodiments, moving the cursor to the distalpoint of the text includes moving the cursor to a beginning or an end ofthe line of the text or a beginning or an end of the text (e.g., the topor bottom of a document or page) in accordance with the direction of thetwo-finger swipe.

In accordance with some embodiments, a method of cursor manipulation isperformed at a portable multifunction device including one or moreprocessors, memory, and a touch screen display. The method includes:displaying content of an electronic document on the display; displayinga cursor within the electronic document; detecting a touch input on thetouch screen display, wherein the touch input is located on a wordwithin the content; and in response to detecting the touch input:selecting the word; and displaying a command display area adjacent tothe selected word, wherein the second command display area includes anicon for cutting the selected word, an icon for copying the selectedword, and an icon for pasting a previously selected content.

In accordance with some embodiments, a method of selection manipulationis performed at a portable multifunction device including one or moreprocessors, memory, and a touch screen display. The method includes:displaying content of an electronic document on the display; displayinga selection of the content within the electronic document; detecting asingle touch input on the touch screen display at a location over theselection; in response to detecting the single touch input at thelocation, displaying a set of options related to the selection;determining if the single touch input remains at the location for apredetermined amount of time followed by a continuous touch gesture awayfrom the location on the touch screen display; and in response todetecting the single touch input remaining at the location for thepredetermined amount of time followed by the continuous touch gestureaway from the location, moving the selection to a different location ina direction of the continuous touch gesture.

In accordance with some embodiments, a method of selection manipulationis performed at a portable multifunction device including one or moreprocessors, memory, and a touch screen display. The method includes:displaying content of an electronic document on the display; displayinga selection of the content within the electronic document; detectingthree substantially simultaneous touch inputs at locations anywhere onthe touch screen display; determining if the three substantiallysimultaneous touch inputs is followed by three continuous touch gesturesaway from the locations on the touch screen display; and in response todetecting the three continuous touch gestures, moving the selection to adifferent location in a direction of the continuous touch gestures.

In accordance with some embodiments, a method of cursor manipulation isperformed at a portable multifunction device including one or moreprocessors, memory, and a touch screen display. The method includes:displaying content of an electronic document on the touch screendisplay, the content includes at least one line of text comprising atleast two words; detecting a touch input on the content; and in responseto detecting the touch input: determining a distance of the touch inputto a closest space between the two words within the electronic document;and in accordance with a determination that the distance is greater thana predetermined threshold distance, selecting a word within theelectronic document closest to the touch input and displaying anindication of the selection.

In accordance with some embodiments, the method further places a cursorin the closest space after a preceding word when the distance is lessthan the predetermined threshold distance.

In accordance with some embodiments, the predetermined thresholddistance is calculated based on the percentage of the size of the wordclosest to the touch input.

In accordance with some embodiments, the method further includes: whiledisplaying the selection, detecting an additional touch input on thetouch screen display at a location within the selection; and in responseto detecting the additional touch input, dismissing the selection andplacing a cursor adjacent to a word within the electronic document basedon the location of the additional touch input relative to the closestspace to this word.

In accordance with some embodiments, the method further includes: whiledisplaying the selection, detecting an additional touch input on thetouch screen display at a location within the selection; detecting,without breaking contact with the touch screen display following theadditional touch input, a continuous touch gesture from a first locationof the additional touch input on the touch screen display to a secondlocation on the touch screen display; and in response to detecting thecontinuous touch gesture, expanding the selection to include additionalcontent beyond the word in a direction towards the second location.

In accordance with some embodiments, the method further includes:detecting a double-tap touch input; in response to detecting thedouble-tap touch input, selecting a word closest to the double-tap touchinput; and displaying an indication of the selection.

In accordance with some embodiments, the method further includes:detecting a double-tap touch input at a space between two words withinthe electronic document; in response to detecting the double-tap touchinput, selecting the word closest to the double-tap touch input thatfollows the space; and displaying an indication of the selection.

In accordance with some embodiments, the method further includes:detecting a triple-tap touch input; in response to detecting thetriple-tap touch input, selecting a sentence closest to the triple-taptouch input; and displaying an indication of the selection of thesentence.

In accordance with some embodiments, the method further includes:detecting a quadruple-tap touch input; in response to detecting thequadruple-tap touch input, selecting a paragraph closest to thequadruple-tap touch input; and displaying an indication of the selectionof the paragraph.

In accordance with some embodiments, the method further includes:detecting a quintuple-tap touch input; in response to detecting thequintuple-tap touch input, selecting the content; and displaying anindication of the selection of the content.

In accordance with some embodiments, selecting the word within theelectronic document closest to the touch input is performed when thedistance is equal to the predetermined threshold distance.

In accordance with some embodiments, placing the cursor in the closestspace after the preceding word is performed when the distance is equalto the predetermined threshold distance.

In accordance with some embodiments, a method of keyboard display isperformed at a portable multifunction device including one or moreprocessors, memory, and a touch screen display. The method includes:displaying content of an electronic document on the touch screendisplay; displaying a soft keyboard on the touch screen display;detecting two substantially simultaneous touch inputs on the softkeyboard; and in response to detecting the two substantiallysimultaneous touch inputs on the soft keyboard, displaying a blurredsoft keyboard.

In accordance with some embodiments, the method further includes:detecting, without breaking contact with the touch screen displayfollowing the two substantially simultaneous touch inputs, movements ofthe two substantially touch inputs from the soft keyboard to thecontent; and in response to detecting the continuous finger contact tothe content, replacing display of the blurred soft keyboard with displayof the soft keyboard.

In accordance with some embodiments, displaying the blurred softkeyboard includes changing one or more of: color, hue, saturation,brightness, and contrast of the soft keyboard based on the content ofthe electronic document.

In accordance with some embodiments, a method of content selection isperformed at a portable multifunction device including one or moreprocessors, memory, and a touch-sensitive display. The method includes:concurrently displaying an onscreen keyboard and a content presentationregion on the touch-sensitive display, wherein the content presentationregion displays text input received from the onscreen keyboard;detecting a touch input on the onscreen keyboard displayed on thetouch-sensitive display; in response to detecting the touch input on theonscreen keyboard displayed on the touch-sensitive display, determiningwhether the touch input satisfies one or more criteria for entering atext selection mode; and in accordance with a determination that thetouch input satisfies the one or more criteria for entering the textselection mode: concurrently displaying, in the content presentationregion, a first cursor at a first location and a second cursor at asecond location that is different from the first location.

In accordance with some embodiments, the one or more criteria forentering the text selection mode include the touch input including atwo-finger drag gesture over the onscreen keyboard.

In accordance with some embodiments, the device has one or more sensorsto detect intensity of contacts with the touch-sensitive display, thetouch input on the touch-sensitive display includes an input by acontact on the onscreen keyboard, and the one or more criteria forentering the text selection mode include the contact on the onscreenkeyboard having an intensity that exceeds a predetermined deep pressintensity threshold.

In accordance with some embodiments, the method further includes: inaccordance with the determination that the touch input satisfies the oneor more criteria for entering the text selection mode: visuallyobscuring keys on the onscreen keyboard.

In accordance with some embodiments, visually obscuring the keys on theonscreen keyboard includes applying a blurring effect to the onscreenkeyboard.

In accordance with some embodiments, visually obscuring the keys on theonscreen keyboard includes transforming the onscreen keyboard into anonscreen touchpad.

In accordance with some embodiments, visually obscuring the keys on theonscreen keyboard includes making the onscreen keyboard semitransparentto partially reveal content lying underneath the onscreen keyboard.

In accordance with some embodiments, the second location is based on alocation of an initial contact in the touch input; and the firstlocation is a permitted insertion position in the content presentationregion that is based on the second location.

In accordance with some embodiments, the first location is an insertionposition at which the first cursor is located when the touch input isdetermined to satisfy the one or more criteria for entering the textselection mode; and the second location is displaced from the firstlocation by a predetermined offset.

In accordance with some embodiments, one of the first and second cursorsis already displayed in the content presentation region before both ofthe first and second cursors are concurrently displayed in the contentpresentation region.

In accordance with some embodiments, the method further includes:detecting movement of one or more contacts of the touch input; andmoving the second cursor within the content presentation region inaccordance with the movement of the one or more contacts of the touchinput.

In accordance with some embodiments, the method further includes: movingthe first cursor based on the movement of the second cursor, whereinmovement of the first cursor includes discrete movements betweenpermitted insertion positions in the content presentation region.

In accordance with some embodiments, the method further includes:detecting a lift-off of the touch input after detecting the movement ofthe one or more contacts of the touch input; and in response todetecting the lift-off of the touch input: ceasing to display the secondcursor.

In accordance with some embodiments, the method further includes: inresponse to detecting the lift-off of the touch input, maintainingdisplay of the first cursor at a respective permitted insertion positionreached by the first cursor after the discrete movements of the firstcursor.

In accordance with some embodiments, the method further includes: inresponse to detecting the lift-off of the touch input, ceasing todisplay the first cursor.

In accordance with some embodiments, the onscreen keyboard is obscuredin accordance with the determination that the touch input satisfies theone or more criteria for entering the text selection mode, and themethod further includes: in response to detecting the lift-off of thetouch input, restoring display of the onscreen keyboard.

In accordance with some embodiments, the device has one or more sensorsto detect intensity of contacts with the touch-sensitive display, andthe method further includes: in the text selection mode, detecting thatan intensity of a contact in the touch input exceeds a predeterminedintensity threshold; after detecting that the intensity of the contactin the touch input exceeds the predetermined intensity threshold,detecting movement of the contact in the touch input; in response todetecting the movement of the contact in the touch input, afterdetecting that the intensity of the contact in the touch input exceedsthe predetermined intensity threshold: selecting a portion of the textinput in accordance with the movement of the contact in the touch input.

In accordance with some embodiments, the selected portion of the textinput begins at a position of the first cursor when the detectedintensity of the contact in the touch input exceeded the predeterminedintensity threshold.

In accordance with some embodiments, the method further includes:detecting lift-off of the contact in the touch input after selecting theportion of the text input in accordance with the movement of the contactin the touch input; and, in response to detecting the lift-off of thecontact in the touch input, confirming selection of the portion of thetext input.

In accordance with some embodiments, the method further includes: afterselecting the portion of the text input, while the portion of the textinput is selected, detecting an intensity of the contact in the touchinput that exceeds the predetermined threshold; and, in response todetecting the intensity of the contact in the touch input that exceedsthe predetermined threshold while the portion of the text input isselected, clearing selection of the portion of the text input.

In accordance with some embodiments, the method further includes: afterselecting the portion of the text input, while the portion of the textinput is selected, detecting an intensity of the contact in the touchinput that exceeds the predetermined threshold and that is followed bylift-off of the contact without further movement of the contact; and, inresponse to detecting the intensity of the contact in the touch inputthat exceeds the predetermined threshold and that is followed bylift-off of the contact without further movement of the contact,confirming selection of the portion of the text input.

In accordance with some embodiments, the method further includes: afterselecting the portion of the text input, while the portion of the textinput is selected, detecting an intensity of the contact in the touchinput that exceeds the predetermined threshold and that is followed byfurther movement of the contact; and, in response to detecting theintensity of the contact in the touch input that exceeds thepredetermined threshold and that is followed by the further movement ofthe contact: clearing selection of the portion of the text input.

In accordance with some embodiments, the method further includes: inresponse to detecting the intensity of the contact in the touch inputthat exceeds the predetermined threshold and that is followed by thefurther movement of the contact: starting selection of a new portion ofthe text input in accordance with the further movement of the contact.

In accordance with some embodiments, the method further includes: inresponse to detecting the intensity of the contact in the touch inputthat exceeds the predetermined threshold and that is followed by thefurther movement of the contact: further moving the second cursor andthe first cursor within the content presentation region in accordancewith the further movement of the contact.

In accordance with some embodiments, the device has one or more sensorsto detect intensity of contacts with the touch-sensitive display, andthe method further includes: in the text selection mode, detecting afirst local intensity peak in the touch input followed by a second localintensity peak in the touch input that both exceed a predeterminedintensity threshold; and, in response to detecting the first localintensity peak followed by the second local intensity peak that bothexceed the predetermined intensity threshold, selecting a firstpredetermined unit of the text input according to a current location ofthe first cursor.

In accordance with some embodiments, the method further includes: afterdetecting the first local intensity peak followed by the second localintensity peak, detecting a third consecutive local intensity peak inthe touch input that exceeds the predetermined intensity threshold; andin response to detecting the three consecutive local intensity peaks inthe touch input that all exceed the predetermined deep press intensitythreshold, selecting a second predetermined unit of the text input thatis larger than and includes the first predetermined unit of the textinput.

In accordance with some embodiments, a method of content selection isperformed at a portable multifunction device including one or moreprocessors, memory, a touch screen display, and one or more sensors todetect intensity of contacts with the touch-sensitive surface. Themethod includes: while a contact is detected on the touch-sensitivesurface, concurrently displaying on the display content and a textselection indicator at a first location within the content; detecting afirst press input by the contact followed by movement of the contactacross the touch-sensitive surface that corresponds to movement of atleast a portion of the text selection indicator from the first locationto a second location on the display; in response to detecting the firstpress input by the contact followed by movement of the contact acrossthe touch-sensitive surface, selecting content between the firstlocation and the second location; while the content between the firstlocation and the second location is selected, detecting a second pressinput by the contact on the touch-sensitive surface; in response todetecting the second press input by the contact on the touch-sensitivesurface, performing a text selection operation, associated with thecontent between the first location and the second location, inaccordance with the second press input, wherein the contact in the firstpress input, the movement across the touch-sensitive surface, and thesecond press input is a single continuous contact with thetouch-sensitive surface.

In accordance with some embodiments, detecting the first press input bythe contact followed by movement of the contact across thetouch-sensitive surface includes: detecting an increase in intensity ofthe contact above a predetermined intensity threshold followed bydetecting a decrease in intensity of the contact to an intensity thatremains above a predetermined minimum intensity value.

In accordance with some embodiments, the method further includes: inresponse to detecting the first press input by the contact followed bymovement of the contact across the touch-sensitive surface: displayingat least the portion of the text selection indicator at the secondlocation within the content.

In accordance with some embodiments, the text selection operationincludes stopping selection of content at the second location andmaintaining selection of the content between the first location and thesecond location.

In accordance with some embodiments, the method further includes: afterdetecting the second press input and while the content between the firstlocation and the second location remains selected, detecting lift-off ofthe contact; and in response to detecting the lift-off of the contact,displaying an action menu for the selected content between the firstlocation and the second location.

In accordance with some embodiments, the method further includes: afterdetecting the second press input by the contact on the touch-sensitivesurface and stopping the selection of the content at the secondlocation, detecting further movement of the contact; and in response todetecting the further movement of the contact, displaying at least aportion of the text selection indicator at a third location within thecontent.

In accordance with some embodiments, the method further includes: inresponse to detecting the further movement of the contact, cancelingselection of content between the first location and the second locationwithout selecting content between the second location and the thirdlocation.

In accordance with some embodiments, the text selection operationincludes cancelling selection of content between the first location andthe second location.

In accordance with some embodiments, the method further includes: afterdetecting the second press input by the contact on the touch-sensitivesurface and canceling the selection of content between the firstlocation and the second location, detecting further movement of thecontact; and, in response to detecting the further movement of thecontact, selecting content between the second location and a thirdlocation.

In accordance with some embodiments, the method further includes: whilethe content between the second location and the third location isselected, detecting lift-off of the contact; and, in response todetecting the lift-off of the contact while the content between thesecond location and the third location is selected, stopping selectionof the content at the third location and maintaining selection of thecontent between the second location and the third location.

In accordance with some embodiments, the method further includes: beforedisplaying the text selection indicator at the first location within thecontent, detecting an initial press input by the contact on thetouch-sensitive surface; and in response to detecting the initial pressinput, displaying the text selection indicator at an initial locationwithin the content that corresponds to a location of the initial pressinput on the touch-sensitive surface.

In accordance with some embodiments, the display is a touch-sensitivedisplay that includes the touch-sensitive surface, and the methodfurther includes: concurrently displaying, on the touch-sensitivedisplay, the content and an onscreen keyboard, wherein the initial pressinput is detected on the onscreen keyboard.

In accordance with some embodiments, the initial press input is detectedat a location on the touch-sensitive surface that corresponds to alocation of the content on the display.

In accordance with some embodiments, the display is a touch-sensitivedisplay that includes the touch-sensitive surface, and the methodfurther includes: concurrently displaying, on the touch-sensitivedisplay, the content and an onscreen keyboard; before displaying thetext selection indicator at the first location within the content,detecting a multi-contact drag input on the onscreen keyboard; and, inresponse to detecting the multi-contact drag input on the onscreenkeyboard, displaying the text selection indicator at an initial locationwithin the content based on a location of the multi-contact drag inputon the onscreen keyboard.

In accordance with some embodiments, the content includes editablecontent and the text selection indicator includes a cursor.

In accordance with some embodiments, the method further includes:displaying a magnifying loupe that displays a magnified version of thecursor and a region surrounding the cursor.

In accordance with some embodiments, selecting the content between thefirst location and the second location includes: moving the cursor onecharacter space at a time in response to detecting the movement of thecontact across the touch-sensitive surface; and selecting one additionalcharacter at a time in accordance with the movement of the cursor.

In accordance with some embodiments, the content includes read-onlycontent and the text selection indicator includes a selection area; anddisplaying the text selection indicator at the first location includesdisplaying a first word located at the first location within theselection area.

In accordance with some embodiments, the method further includes:displaying a magnifying loupe that displays a magnified version of theselection area and a region surrounding the selection area.

In accordance with some embodiments, selecting the content between thefirst location and the second location includes: expanding the selectionarea one word at a time in accordance with the movement of the contactacross the touch-sensitive surface; and selecting one additional word ata time in accordance with the expansion of the selection area.

In accordance with some embodiments, the method further includes:foregoing performing the text selection operation, in response todetecting the second press input, in accordance with a determinationthat the second press input is accompanied by simultaneous movement ofthe contact across the touch-sensitive surface.

In accordance with some embodiments, when the text is editable text, thetext selection indicator is a cursor and selecting content between thefirst location and the second location includes expanding the selectioncharacter-by-character in accordance with movement of the contact on thetouch-sensitive surface; and when the text is non-editable text, thetext selection indicator is a selection region that initiallyencompasses a single word and selecting content between the firstlocation and the second location includes expanding the selectionword-by-word in accordance with movement of the contact on thetouch-sensitive surface.

In accordance with some embodiments, a method of content selection isperformed at a portable multifunction device including one or moreprocessors, memory, and a touch-sensitive display. The method includes:concurrently displaying an onscreen keyboard and a content presentationregion on the touch-sensitive display, wherein the content presentationregion displays text input received from the onscreen keyboard;detecting a touch input on the onscreen keyboard displayed on thetouch-sensitive display, wherein detecting the touch input includesdetecting movement of a contact and liftoff of the contact; in responseto detecting the touch input on the onscreen keyboard displayed on thetouch-sensitive display: in accordance with a determination that thetouch input satisfies text-selection criteria, wherein thetext-selection criteria include a criterion that is met when acharacteristic intensity of the contact increases above a text-selectionintensity threshold, performing a text selection operation based on themovement of the contact; and in accordance with a determination that thetouch input satisfies text-entry criteria, wherein the text-entrycriteria include a criterion that is met when the characteristicintensity of the contact does not increase above the text-selectionintensity threshold, entering text into the content presentation regionbased on the touch input.

In accordance with some embodiments, the text-entry criteria include acriterion that is met when the liftoff of the contact is detected whilethe contact is at a location of a character key of the onscreenkeyboard.

In accordance with some embodiments, the text-entry criteria include acriterion that is met when the contact does not move outside of theonscreen keyboard before liftoff of the contact is detected.

In accordance with some embodiments, entering the text into the contentregion includes entering a character that corresponds to character keyat a location at which touchdown of the contact was detected on theonscreen keyboard.

In accordance with some embodiments, entering the text into the contentregion includes entering a character that corresponds to character keyat a location at which liftoff of the contact was detected on theonscreen keyboard.

In accordance with some embodiments, the text-selection criteria includea criterion that is met when the contact does not move more than athreshold distance before detecting an increase in the characteristicintensity of the contact above the text-selection intensity threshold.

In accordance with some embodiments, the text-selection operationincludes one of: moving a cursor within the content region or selectingtext within the content region.

In accordance with some embodiments, the method further includes, inresponse to detecting that the text-selection criteria have been met,generating a tactile output that is indicative of an entry into a textselection mode of operation.

In accordance with some embodiments, the method further includes, inresponse to detecting that the text-selection criteria have been met,changing an appearance of the onscreen keyboard to indicate that thedevice is operating in a text selection mode of operation, whereinchanging the appearance of the onscreen keyboard includes obscuring anappearance of characters on keys of the onscreen keyboard.

In accordance with some embodiments, the method further includes, endingthe text selection mode of operation and, in conjunction with the end ofthe text selection mode of operation, reversing the change in appearanceof the onscreen keyboard to reveal the characters on the keys of theonscreen keyboard.

In accordance with some embodiments, the method further includes, whenthe touch input satisfies the text-selection criteria, detectingmovement of the contact after the touch input has satisfied thetext-selection criteria and moving a cursor in the content region inaccordance with the movement of the contact detected after the touchinput has satisfied the text-selection criteria.

In accordance with some embodiments, the method further includes, whenthe touch input satisfies the text-selection criteria, detecting a firstsubsequent change in the characteristic intensity of the contactfollowed by additional movement of the contact on the touch-sensitivedisplay; and, in response to detecting the first subsequent change inthe characteristic intensity of the contact: in accordance with adetermination that the touch input satisfies selection-start criteria,wherein the selection-start criteria include a criterion that is metwhen the characteristic intensity of the contact increases above aselection-start intensity threshold, starting to select content in thecontent region at a location of a cursor in accordance with theadditional movement of the contact; and in accordance with adetermination that the touch input does not satisfy the selection-startcriteria, moving the cursor in accordance with the additional movementof the contact without starting to select content in the content region.

In accordance with some embodiments, the method further includes, whenthe touch input satisfies selection-start criteria, after starting toselect content in the content region, detecting liftoff of the contactfrom the touch-sensitive display and confirming the selection inresponse to detecting the liftoff of the contact.

In accordance with some embodiments, the method further includes, whenthe touch input satisfies selection-start criteria, after starting toselect content in the content region, and while continuing to detect thecontact on the touch-sensitive display, detecting a second subsequentchange in intensity of the contact; in response to detecting the secondsubsequent change in the characteristic intensity of the contact: inaccordance with a determination that the second subsequent change in thecharacteristic intensity of the contact satisfies selection-cancellationcriteria, wherein the selection-cancellation criteria include acriterion that is met when the characteristic intensity of the contactincreases above a selection-cancellation intensity threshold cancellingthe selection; and in accordance with a determination that the secondsubsequent change in the characteristic intensity of the contact doesnot satisfy the selection-cancellation criteria, maintaining theselection.

In accordance with some embodiments, the selection-cancellation criteriainclude a criterion that is met when the contact moves no more than athreshold distance within a threshold amount of time before thecharacteristic intensity of the contact increases above theselection-cancellation intensity threshold.

In accordance with some embodiments, the method further includes, inresponse to detecting that the selection-cancellation criteria have beenmet, generating a tactile output that is indicative of an exit from thetext selection mode of operation.

In accordance with some embodiments, the method further includes, aftercanceling the selection, and while continuing to detect the contact onthe touch-sensitive display, detecting a third subsequent change in thecharacteristic intensity of the contact; and, in response to detectingthe third subsequent change in the characteristic intensity of thecontact: in accordance with a determination that the touch inputsatisfies the selection-start criteria, starting to select content inthe content region at a location of the cursor; and in accordance with adetermination that the touch input does not satisfy the selection-startcriteria, forgoing starting to select content in the content region.

In accordance with some embodiments, starting to select content inresponse to detecting the third subsequent change in the characteristicintensity of the contact includes selecting a respective word at thelocation of the cursor.

In accordance with some embodiments, the selected respective word is afirst word, and the method further includes, while the first word isselected, detecting first subsequent movement of the contact; and inresponse to detecting the first subsequent movement of the contact whilethe first word is selected: in accordance with a determination that thetouch input meets selection-movement criteria which includes a movementcriterion that is met when the contact moves more than a respectivethreshold amount, canceling selection of the first word; and selecting asecond word that is adjacent to the first word in a first direction inaccordance with the first subsequent movement of the contact, such thatthe selected respective word is the second word.

In accordance with some embodiments, the method further includes, whilethe respective word is selected, detecting first subsequent movement ofthe contact; and in response to detecting the first subsequent movementof the contact while the respective word is selected: in accordance witha determination that the touch input meets selection-expansion criteriawhich includes a movement criterion that is met when the contact movesmore than a respective threshold amount, expanding the selection toinclude a word that is adjacent to the respective word in a firstdirection in accordance with the first subsequent movement of thecontact.

In accordance with some embodiments, the method further includes, whilethe respective word is selected, detecting a fourth subsequent change inthe characteristic intensity of the contact above a respective intensitythreshold; and, in response to detecting the fourth subsequent change inthe characteristic intensity of the contact, in accordance with adetermination that the touch input meets the selection-cancellationcriteria, which includes a criterion that is met when the amount of timebetween when the third subsequent change in the characteristic intensityof the contact is detected and when the fourth subsequent change in thecharacteristic intensity of the contact is detected is greater than thedelay threshold, cancelling selection of the respective word.

In accordance with some embodiments, the method further includes, whilethe respective word is selected, detecting a fourth subsequent change inthe characteristic intensity of the contact above a respective intensitythreshold; and, in response to detecting the fourth subsequent change inthe characteristic intensity of the contact, in accordance with adetermination that the touch input meets sentence-selection criteriawhich include a movement criterion that is met when the contact movesless than a threshold amount within a threshold time period before thefourth subsequent change in intensity of the contact was detected and atime criterion that is met when an amount of time between when the thirdsubsequent change in the characteristic intensity of the contact isdetected and when the fourth subsequent change in the characteristicintensity of the contact is detected is less than a delay threshold,expanding the selection to include the respective sentence that containsthe respective word.

In accordance with some embodiments, the method further includes, whilethe respective sentence is selected, detecting second subsequentmovement of the contact; and in response to detecting the secondsubsequent movement of the contact while the respective sentence isselected: in accordance with a determination that the touch input meetsselection-expansion criteria which includes a movement criterion that ismet when the contact moves more than a respective threshold amount,expanding the selection to include a sentence that is adjacent to therespective sentence in a first direction in accordance with the secondsubsequent movement of the contact.

In accordance with some embodiments, the respective sentence is selectedin response to the fourth subsequent change in the characteristicintensity of the contact and the method further includes, while therespective sentence is selected: detecting a fifth subsequent change inthe characteristic intensity of the contact above the respectiveintensity threshold; and, in response to detecting the fifth subsequentchange in the characteristic intensity of the contact, in accordancewith a determination that the touch input meets theselection-cancellation criteria, which includes a criterion that is metwhen the amount of time between when the fourth subsequent change in thecharacteristic intensity of the contact is detected and when the fifthsubsequent change in the characteristic intensity of the contact isdetected is greater than the delay threshold, cancelling selection ofthe respective sentence.

In accordance with some embodiments, the method further includes, inresponse to detecting the fifth subsequent change in the characteristicintensity of the contact, in accordance with a determination that thetouch input meets paragraph-selection criteria which include a movementcriterion that is met when the contact moves less than the thresholdamount within the threshold time period before the fifth subsequentchange in intensity of the contact was detected and a time criterionthat is met when an amount of time between when the fourth subsequentchange in the characteristic intensity of the contact is detected andwhen the fifth subsequent change in the characteristic intensity of thecontact is detected is less than the delay threshold, expanding theselection to include the respective paragraph that contains therespective sentence.

In accordance with some embodiments, the method further includes, whilethe respective paragraph is selected, detecting third subsequentmovement of the contact; and in response to detecting the thirdsubsequent movement of the contact while the respective paragraph isselected: in accordance with a determination that the touch input meetsselection-expansion criteria which includes a movement criterion that ismet when the contact moves more than a respective threshold amount,expanding the selection to include a paragraph that is adjacent to therespective paragraph in a first direction in accordance with the thirdsubsequent movement of the contact.

In accordance with some embodiments, the respective paragraph isselected in response to the fifth subsequent change in thecharacteristic intensity of the contact and the method further includes,while the respective paragraph is selected: detecting a sixth subsequentchange in the characteristic intensity of the contact above therespective intensity threshold; and, in response to detecting the sixthsubsequent change in the characteristic intensity of the contact, inaccordance with a determination that the touch input meetsselection-cancellation criteria, which includes a criterion that is metwhen the amount of time between when the fifth subsequent change in thecharacteristic intensity of the contact is detected and when the sixthsubsequent change in the characteristic intensity of the contact isdetected is greater than the delay threshold, cancelling selection ofthe respective paragraph.

In accordance with some embodiments, the method further includes, inresponse to detecting the sixth subsequent change in the characteristicintensity of the contact, in accordance with a determination that thetouch input meets document selection criteria which include a movementcriterion that is met when the contact moves less than the thresholdamount within the threshold time period before the sixth subsequentchange in intensity of the contact was detected and a time criterionthat is met when an amount of time between when the fifth subsequentchange in the characteristic intensity of the contact is detected andwhen the sixth subsequent change in the characteristic intensity of thecontact is detected is less than the delay threshold, expanding theselection to include the respective document that contains therespective paragraph.

In accordance with some embodiments, a method of content manipulation isperformed at a portable multifunction device including one or moreprocessors, memory, and a touch screen display. The method includes:displaying content of an electronic document and a cursor within thecontent on the touch screen display; displaying, on the touch screendisplay, a soft keyboard having multiple keys each having a respectivealphanumeric character of a plurality of alphanumeric characters;detecting two substantially simultaneous touch inputs on the softkeyboard; and in response to detecting the two substantiallysimultaneous touch inputs on the soft keyboard, changing the appearanceof the soft keyboard to a changed appearance.

In accordance with some embodiments, the method of content manipulationfurther includes: detecting, without breaking contact with the touchscreen display following the two substantially simultaneous touchinputs, a sliding gesture from a first location of the two substantiallytouch inputs on the soft keyboard to a second location on the content;and in response to detecting the sliding gesture, maintaining thechanged appearance of the soft keyboard.

In accordance with some embodiments, changing the appearance of the softkeyboard includes: removing the plurality of alphanumeric charactersfrom the multiple keys, or changing one or more of: color, hue,saturation, brightness, or contrast of the soft keyboard based on thecontent of the electronic document.

In accordance with some embodiments, the method of content manipulationfurther includes: detecting a continuous movement of the twosubstantially simultaneous touch inputs from a first location on thesoft keyboard to a second location anywhere on the touch screen displaywithout breaking contact with the touch screen display; and expandingthe selected content to include additional content beyond the portion ina direction towards the second location in response to detecting thecontinuous movement.

In accordance with some embodiments, expanding the selected content toinclude additional content beyond the portion in a direction towards thesecond location includes: displaying a start-point object and anend-point object at respective ends of the selection; and moving one ofthe start-point object or the end-point object in accordance with thelocation of the first location and the second location. For example, theselection is expanded by moving a start-point object or an end-pointobject like dragging a cursor. The initial direction of the continuousmovement of the two substantially simultaneous touch inputs defines whatpart of the selection is expanded. For example, a left/up movement ofthe two substantially simultaneous touch inputs drags a lollipop shapedstart-point object and expands the selection backwards, while aright/down movement of the two substantially simultaneous touch inputsdrags an upside down lollipop shaped end-point object and expands theselection forward.

In accordance with some embodiments, expanding the selected content toinclude additional content beyond the portion in a direction towards thesecond location includes: in accordance with a determination that thespeed of the continuous movement exceeds a predetermined threshold,expanding the selection one word at a time.

In accordance with some embodiments, the method of content manipulationfurther includes: after detecting the two substantially simultaneoustouch inputs, detecting a lift-off followed by an additional twosubstantially simultaneous touch inputs followed by a sliding gesture ofthe additional two substantially simultaneous touch inputs across thetouch screen display to additional locations; dismissing the selectedcontent; selecting a word as the selected content closest to the cursor;and expanding the selected content to include additional content beyondthe selected content in a direction towards the additional locations.

In accordance with some embodiments, the method of content manipulationfurther includes: detecting an additional two substantially simultaneoustouch inputs on the soft keyboard; and in response to detecting theadditional two substantially simultaneous touch inputs on the softkeyboard: in accordance with a determination that the selected contentis a word, expanding the selected content to include a sentencecontaining the word.

In accordance with some embodiments, the method of content manipulationfurther includes: in accordance with a determination that the selectedcontent is more than a word, displaying the cursor at the beginning ofthe selected content and dismissing the selected content.

In accordance with some embodiments, the method of content manipulationfurther includes: detecting additional two substantially simultaneoustouch inputs; in response to detecting the additional two substantiallysimultaneous touch inputs, expanding the selected content to a sentencecontaining the portion; and displaying an indication of the selectedcontent.

In accordance with some embodiments, expanding the selected content to asentence containing the portion includes expanding the selected contentto the sentence containing the portion in accordance with adetermination that the duration between the two substantiallysimultaneous touch inputs and the additional two substantiallysimultaneous touch inputs is less than a predetermined threshold (e.g.,0.66 seconds).

In accordance with some embodiments, the method of content manipulationfurther includes: detecting a further two substantially simultaneoustouch inputs; in response to detecting the further two substantiallysimultaneous touch inputs, expanding the selected content to a paragraphcontaining the portion; and displaying an indication of the selectedcontent.

In accordance with some embodiments, expanding the selected content to aparagraph containing the portion includes: expanding the selectedcontent to the paragraph containing the portion in accordance with adetermination that the duration between the two substantiallysimultaneous touch inputs and the further two substantially simultaneoustouch inputs is less than a predetermined threshold (e.g., 0.66seconds).

In accordance with some embodiments, there is provided an electronicdevice that includes a display, a touch-sensitive surface, one or moreprocessors, memory, and one or more programs; the one or more programsare stored in the memory and configured to be executed by the one ormore processors, where the one or more programs include instructions forperforming any of the methods described herein.

In accordance with some embodiments there is provided a graphical userinterface on an electronic device with a display, a touch-sensitivesurface, a memory, and one or more processors to execute one or moreprograms stored in the memory. The graphical user interface includes oneor more of the elements displayed in any of the methods described above,which are updated in response to inputs, as described in any of themethods described herein.

In accordance with some embodiments, there is provided a non-transitorycomputer readable storage medium that has stored therein instructionswhich when executed by an electronic device with a display, atouch-sensitive surface, cause the device to perform the any of themethods described herein.

In accordance with some embodiments, an electronic device includes adisplay unit configured to display content of an electronic document anda cursor within the electronic document; a touch-sensitive surface unitconfigured to receive user contacts; and a processing unit coupled tothe display unit and the touch-sensitive surface unit. The processingunit is configured to: detect two substantially simultaneous touchinputs anywhere on the touch screen display; and in response todetecting the two substantially simultaneous touch inputs: select aportion of the content in the document closest to the cursor; anddisplay the portion of the content as selected content.

In accordance with some embodiments, an electronic device includes adisplay unit configured to display content of an electronic document anda cursor at a current location within the content; a touch-sensitivesurface unit configured to receive user contacts; and a processing unitcoupled to the display unit and the touch-sensitive surface unit. Theprocessing unit is configured to: detect two substantially simultaneoustouch inputs at a first region on the touch screen display; upondetermining that the two substantially simultaneous touch inputs remainin contact with the touch screen display, detect a continuous touchgesture from a location of the two substantially simultaneous touchinputs across the touch screen display from the first region to a secondregion; and in response to detecting the continuous touch gesture: movethe cursor from the current location to a new location in a direction ofthe continuous touch gesture.

In accordance with some embodiments, an electronic device includes adisplay unit configured to display text and a cursor at a line withinthe text; a touch-sensitive surface unit configured to receive usercontacts; and a processing unit coupled to the display unit and thetouch-sensitive surface unit. The processing unit is configured to:detect a two-finger swipe gesture on the touch screen display in adirection at least partially parallel to the line and towards an edge ofthe touch screen display; and in response to detecting the two-fingerswipe gesture: move the cursor to a distal point of the text.

In accordance with some embodiments, an electronic device includes adisplay unit configured to display content of an electronic document anda cursor within the electronic document; a touch-sensitive surface unitconfigured to receive user contacts; and a processing unit coupled tothe display unit and the touch-sensitive surface unit. The processingunit is configured to: detect a touch input on the touch screen display,wherein the touch input is located on a word within the content; and inresponse to detecting the touch input: select the word; and display acommand display area adjacent to the selected word, wherein the secondcommand display area includes an icon for cutting the selected word, anicon for copying the selected word, and an icon for pasting a previouslyselected content.

In accordance with some embodiments, an electronic device includes adisplay unit configured to display content of an electronic document anda selection of the content within the electronic document; atouch-sensitive surface unit configured to receive user contacts; and aprocessing unit coupled to the display unit and the touch-sensitivesurface unit. The processing unit is configured to: detect a singletouch input on the touch screen display at a location over theselection; in response to detecting the single touch input at thelocation, display a set of options related to the selection; determineif the single touch input remains at the location for a predeterminedamount of time followed by a continuous touch gesture away from thelocation on the touch screen display; and in response to detecting thesingle touch input remaining at the location for the predeterminedamount of time followed by the continuous touch gesture away from thelocation, move the selection to a different location in a direction ofthe continuous touch gesture.

In accordance with some embodiments, an electronic device includes adisplay unit configured to display content of an electronic document anda selection of the content within the electronic document; atouch-sensitive surface unit configured to receive user contacts; and aprocessing unit coupled to the display unit and the touch-sensitivesurface unit. The processing unit is configured to: detect threesubstantially simultaneous touch inputs at locations anywhere on thetouch screen display; determine if the three substantially simultaneoustouch inputs is followed by three continuous touch gestures away fromthe locations on the touch screen display; and in response to detectingthe three continuous touch gestures, move the selection to a differentlocation in a direction of the continuous touch gestures.

In accordance with some embodiments, an electronic device includes adisplay unit configured to display content of an electronic document,the content includes at least one line of text comprising at least twowords; a touch-sensitive surface unit configured to receive usercontacts; and a processing unit coupled to the display unit and thetouch-sensitive surface unit. The processing unit is configured to:detect a touch input on the content; and in response to detecting thetouch input: determine a distance of the touch input to a closest spacebetween the two words within the electronic document; and in accordancewith a determination that the distance is greater than a predeterminedthreshold distance, select a word within the electronic document closestto the touch input and display an indication of the selection.

In accordance with some embodiments, an electronic device includes adisplay unit configured to display content of an electronic document anda soft keyboard; a touch-sensitive surface unit configured to receiveuser contacts; and a processing unit coupled to the display unit and thetouch-sensitive surface unit. The processing unit is configured to:detect two substantially simultaneous touch inputs on the soft keyboard;and in response to detecting the two substantially simultaneous touchinputs on the soft keyboard, display a blurred soft keyboard.

In accordance with some embodiments, an electronic device includes atouch-sensitive surface unit configured to receive user touch inputs, adisplay unit configured to concurrently display an onscreen keyboard anda content presentation region on the touch-sensitive display unit,wherein the content presentation region displays text input receivedfrom the onscreen keyboard; a touch-sensitive surface unit configured toreceive user touch inputs; and a processing unit coupled to the displayunit and the touch-sensitive surface unit. The processing unit isconfigured to: detect a touch input on the onscreen keyboard displayedon the touch-sensitive display; in response to detecting the touch inputon the onscreen keyboard displayed on the touch-sensitive display,determine whether the touch input satisfies one or more criteria forentering a text selection mode; and in accordance with a determinationthat the touch input satisfies the one or more criteria for entering thetext selection mode: concurrently display, in the content presentationregion, a first cursor at a first location and a second cursor at asecond location that is different from the first location.

In accordance with some embodiments, an electronic device includes atouch-sensitive surface unit configured to receive user touch inputs; adisplay unit configured to, while a contact is detected on thetouch-sensitive surface unit, concurrently display on the display unitcontent and a text selection indicator at a first location within thecontent; one or more sensors to detect intensity of contacts with thetouch-sensitive surface unit; and a processing unit coupled to thedisplay unit and the touch-sensitive surface unit. The processing unitis configured to: detect a first press input by the contact followed bymovement of the contact across the touch-sensitive surface unit thatcorresponds to movement of at least a portion of the text selectionindicator from the first location to a second location on the displayunit; in response to detecting the first press input by the contactfollowed by movement of the contact across the touch-sensitive surfaceunit, select content between the first location and the second location;while the content between the first location and the second location isselected, detect a second press input by the contact on thetouch-sensitive surface unit; in response to detecting the second pressinput by the contact on the touch-sensitive surface unit, perform a textselection operation, associated with the content between the firstlocation and the second location, in accordance with the second pressinput, wherein the contact in the first press input, the movement acrossthe touch-sensitive surface unit, and the second press input is a singlecontinuous contact with the touch-sensitive surface unit.

In accordance with some embodiments, an electronic device includes atouch-sensitive surface unit configured to receive user touch inputs; adisplay unit configured to concurrently display an onscreen keyboard anda content presentation region on the touch-sensitive display unit,wherein the content presentation region displays text input receivedfrom the onscreen keyboard; one or more sensors to detect intensity ofcontacts with the touch-sensitive surface unit; and a processing unitcoupled to the display unit and the touch-sensitive surface unit. Theprocessing unit is configured to: detect a touch input on the onscreenkeyboard displayed on the touch-sensitive display unit, whereindetecting the touch input includes detecting movement of a contact andliftoff of the contact; in response to detecting the touch input on theonscreen keyboard displayed on the touch-sensitive display: inaccordance with a determination that the touch input satisfiestext-selection criteria, wherein the text-selection criteria include acriterion that is met when a characteristic intensity of the contactincreases above a text-selection intensity threshold, perform a textselection operation based on the movement of the contact; and inaccordance with a determination that the touch input satisfiestext-entry criteria, wherein the text-entry criteria include a criterionthat is met when the characteristic intensity of the contact does notincrease above the text-selection intensity threshold, enter text intothe content presentation region based on the touch input.

In accordance with some embodiments, there is provided an electronicdevice that includes a display unit configured to display content of anelectronic document and a cursor within the electronic document; atouch-sensitive surface unit configured to receive user contacts; and aprocessing unit coupled to the display unit and the touch-sensitivesurface unit. The processing unit is configured to: display, on thetouch-sensitive surface display unit, a soft keyboard having multiplekeys each having a respective alphanumeric character of a plurality ofalphanumeric characters; detect two substantially simultaneous touchinputs on the soft keyboard; and in response to detecting the twosubstantially simultaneous touch inputs on the soft keyboard, change theappearance of the soft keyboard to a changed appearance.

Thus, electronic devices with displays, touch-sensitive surfaces areprovided with faster, more efficient methods and interfaces for cursormanipulation, thereby increasing the effectiveness, efficiency, and usersatisfaction with such devices. Such methods and interfaces maycomplement or replace conventional methods for cursor manipulation.

BRIEF DESCRIPTION OF THE DRAWINGS

For a better understanding of the various described embodiments,reference should be made to the Description of Embodiments below, inconjunction with the following drawings in which like reference numeralsrefer to corresponding parts throughout the figures.

FIG. 1A is a block diagram illustrating a portable multifunction devicewith a touch-sensitive display in accordance with some embodiments.

FIG. 1B is a block diagram illustrating exemplary components for eventhandling, in accordance with some embodiments.

FIG. 2A is a schematic diagram of a portable multifunction device havinga touch screen, in accordance with some embodiments.

FIG. 2B illustrates an exemplary user interface for a multifunctiondevice with a touch-sensitive surface that is separate from the displayin accordance with some embodiments.

FIGS. 2C-2E illustrate exemplary dynamic intensity thresholds inaccordance with some embodiments.

FIG. 3 is a schematic diagram of a user interface for a menu ofapplications on a portable multifunction device, in accordance with someembodiments.

FIG. 4A is a flow chart illustrating a method of cursor manipulationwith two substantially simultaneous touch inputs, in accordance withsome embodiments.

FIG. 4B is a flow chart illustrating a method of cursor manipulationwith a single touch input, in accordance with some embodiments.

FIG. 4C is a flow chart illustrating a method of cursor manipulationwith three substantially simultaneous touch inputs (e.g., three fingertouch input), in accordance with some embodiments.

FIGS. 5A-5AX illustrate exemplary user interfaces for cursormanipulation, in accordance with some embodiments.

FIGS. 6A-6J illustrate exemplary user interfaces for cursor manipulationwith a single touch input, in accordance with some embodiments.

FIGS. 7A-7C illustrate exemplary keyboard appearance changes in responseto two substantially simultaneous touch inputs, in accordance with someembodiments.

FIG. 8 is a functional block diagram of an electronic device inaccordance with some embodiments.

FIGS. 9A-9AD illustrate exemplary user interfaces for manipulating acursor and selecting content in accordance with some embodiments.

FIGS. 10A-10G are flow diagrams illustrating a method of manipulating acursor in accordance with some embodiments.

FIGS. 11A-11F are flow diagrams illustrating a method of selectingcontent in accordance with some embodiments.

FIG. 12 is a functional block diagram of an electronic device inaccordance with some embodiments.

FIGS. 13A-13Q illustrate exemplary user interfaces for manipulating acursor and selecting content in accordance with some embodiments.

FIGS. 14A-14H are flow diagrams illustrating a method of manipulating acursor and selecting content in accordance with some embodiments.

FIG. 15 is a functional block diagram of an electronic device inaccordance with some embodiments.

DESCRIPTION OF EMBODIMENTS

Described below are devices and methods that allow a user to efficientlymanipulate a cursor in an electronic document. The methods areparticularly useful on portable devices with small displays, includinghandheld or pocket-sized devices (e.g., smartphones). When usingconventional portable devices, a user may find it difficult to preciselyplace her finger (or make contact) at the cursor location on the touchscreen display, as the cursor is often small, hidden under the user'sfinger, and/or disposed between text or graphics. As such, users oftenneed to lift their finger and reposition it multiple times until thecursor is placed at the correct location. This conventional process istime consuming, inefficient, and alienates users. The methods describedherein allow a user to manipulate and place a cursor at a desiredlocation within an electronic document, as well as perform certainediting functions, such as text selection or moving text. In someembodiments, this cursor (or selected text) manipulation can becontrolled from any part of the touch-sensitive surface, not just thelocation of the cursor. These methods greatly reduce the number of stepsthat a user need perform to navigate and edit a document, therebyincreasing efficiency and ease of use when performing these tasks.

Below, FIGS. 1A-1B, 2A-2B, and 3 provide a description of exemplarydevices. FIGS. 5A-5AR illustrate exemplary user interfaces for cursormanipulation when editing an electronic document. FIGS. 4A-4C are flowcharts illustrating methods of cursor manipulation. The user interfacesin FIGS. 5A-5AX, 6A-6J, 7A-7C, 9A-9AD, and 13A-13Q are used toillustrate the processes in FIGS. 4A-4C, 10A-10G, 11A-11F, 14A-14H andthe method recited in the claims.

Exemplary Devices

Reference will now be made in detail to embodiments, examples of whichare illustrated in the accompanying drawings. In the following detaileddescription, numerous specific details are set forth in order to providea thorough understanding of the present invention. However, it will beapparent to one of ordinary skill in the art that the present inventionmay be practiced without these specific details. In other instances,well-known methods, procedures, components, circuits, and networks havenot been described in detail so as not to unnecessarily obscure aspectsof the embodiments.

It will also be understood that, although the terms first, second, etc.may be used herein to describe various elements, these elements shouldnot be limited by these terms. These terms are only used to distinguishone element from another. For example, a first contact could be termed asecond contact, and, similarly, a second contact could be termed a firstcontact, without departing from the scope of the present invention. Thefirst contact and the second contact are both contacts, but they are notthe same contact.

The terminology used in the description of the invention herein is forthe purpose of describing particular embodiments only and is notintended to be limiting of the invention. As used in the description ofthe invention and the appended claims, the singular forms “a”, “an” and“the” are intended to include the plural forms as well, unless thecontext clearly indicates otherwise. It will also be understood that theterm “and/or” as used herein refers to and encompasses any and allpossible combinations of one or more of the associated listed items. Itwill be further understood that the terms “comprises” and/or“comprising,” when used in this specification, specify the presence ofstated features, integers, steps, operations, elements, and/orcomponents, but do not preclude the presence or addition of one or moreother features, integers, steps, operations, elements, components,and/or groups thereof.

As used herein, the term “if” may be construed to mean “when” or “upon”or “in response to determining” or “in response to detecting,” dependingon the context. Similarly, the phrase “if it is determined” or “if [astated condition or event] is detected” may be construed to mean “upondetermining” or “in response to determining” or “upon detecting [thestated condition or event]” or “in response to detecting [the statedcondition or event],” depending on the context.

Embodiments of computing devices, user interfaces for such devices, andassociated processes for using such devices are described. In someembodiments, the computing device is a portable communications devicesuch as a mobile telephone that also contains other functions, such asPDA and/or music player functions. Exemplary embodiments of portablemultifunction devices include, without limitation, the IPHONE, IPAD, andIPOD TOUCH devices from Apple Computer, Inc. of Cupertino, Calif.

In the discussion that follows, a computing device that includes atouch-sensitive display is described. It should be understood, however,that the computing device may include one or more other physicaluser-interface devices, such as a separate display, physical keyboard, amouse, and/or a joystick.

The device supports a variety of applications, such as one or more ofthe following: a note taking application, a drawing application, apresentation application, a word processing application, a websitecreation application, a disk authoring application, a spreadsheetapplication, a gaming application, a telephone application, avideo-conferencing application, an e-mail application, an instantmessaging application, a fitness application, a photo managementapplication, a digital camera application, a digital video cameraapplication, a web browsing application, a digital music playerapplication, a digital video player application, and/or a homeautomation application.

The various applications that may be executed on the device may use atleast one common physical user-interface device, such as thetouch-sensitive surface. One or more functions of the touch-sensitivesurface as well as corresponding information displayed on the device maybe adjusted and/or varied from one application to the next and/or withina respective application. In this way, a common physical architecture(such as the touch-sensitive surface) of the device may support thevariety of applications with user interfaces that are intuitive andtransparent.

The user interfaces may include one or more soft keyboard embodiments.The soft keyboard embodiments may include standard (QWERTY) and/ornon-standard configurations of symbols on the displayed icons of thekeyboard, such as those described in U.S. patent application Ser. No.11/459,606, “Keyboards For Portable Electronic Devices,” filed Jul. 24,2006, and Ser. No. 11/459,615, “Touch Screen Keyboards For PortableElectronic Devices,” filed Jul. 24, 2006, the contents of which arehereby incorporated by reference in their entirety. The keyboardembodiments may include a reduced number of icons (or soft keys)relative to the number of keys in existing physical keyboards, such asthat for a typewriter. This may make it easier for users to select oneor more icons in the keyboard, and thus, one or more correspondingsymbols. The keyboard embodiments may be adaptive. For example,displayed icons may be modified in accordance with user actions, such asselecting one or more icons and/or one or more corresponding symbols.One or more applications on the device may utilize common and/ordifferent keyboard embodiments. Thus, the keyboard embodiment used maybe tailored to at least some of the applications. In some embodiments,one or more keyboard embodiments may be tailored to a respective user.For example, one or more keyboard embodiments may be tailored to arespective user based on a word usage history (lexicography, slang,individual usage) of the respective user. Some of the keyboardembodiments may be adjusted to reduce a probability of a user error whenselecting one or more icons, and thus one or more symbols, when usingthe soft keyboard embodiments.

Attention is now directed toward embodiments of portable devices withtouch-sensitive displays. FIG. 1A is a block diagram illustratingportable multifunction device 100 with touch-sensitive display system112 in accordance with some embodiments. Touch-sensitive display system112 is sometimes called a “touch screen” for convenience, and issometimes simply called a touch-sensitive display. Device 100 includesmemory 102 (which optionally includes one or more computer readablestorage mediums), memory controller 122, one or more processing units(CPUs) 120, peripherals interface 118, RF circuitry 108, audio circuitry110, speaker 111, microphone 113, input/output (I/O) subsystem 106,other input or control devices 116, and external port 124. Device 100optionally includes one or more optical sensors 164. Device 100optionally includes one or more intensity sensors 165 for detectingintensity of contacts on device 100 (e.g., a touch-sensitive surfacesuch as touch-sensitive display system 112 of device 100). Device 100optionally includes one or more tactile output generators 167 forgenerating tactile outputs on device 100 (e.g., generating tactileoutputs on a touch-sensitive surface such as touch-sensitive displaysystem 112 of device 100 or touchpad 355 of device 300). Thesecomponents optionally communicate over one or more communication busesor signal lines 103.

As used in the specification and claims, the term “tactile output”refers to physical displacement of a device relative to a previousposition of the device, physical displacement of a component (e.g., atouch-sensitive surface) of a device relative to another component(e.g., housing) of the device, or displacement of the component relativeto a center of mass of the device that will be detected by a user withthe user's sense of touch. For example, in situations where the deviceor the component of the device is in contact with a surface of a userthat is sensitive to touch (e.g., a finger, palm, or other part of auser's hand), the tactile output generated by the physical displacementwill be interpreted by the user as a tactile sensation corresponding toa perceived change in physical characteristics of the device or thecomponent of the device. For example, movement of a touch-sensitivesurface (e.g., a touch-sensitive display or trackpad) is, optionally,interpreted by the user as a “down click” or “up click” of a physicalactuator button. In some cases, a user will feel a tactile sensationsuch as an “down click” or “up click” even when there is no movement ofa physical actuator button associated with the touch-sensitive surfacethat is physically pressed (e.g., displaced) by the user's movements. Asanother example, movement of the touch-sensitive surface is, optionally,interpreted or sensed by the user as “roughness” of the touch-sensitivesurface, even when there is no change in smoothness of thetouch-sensitive surface. While such interpretations of touch by a userwill be subject to the individualized sensory perceptions of the user,there are many sensory perceptions of touch that are common to a largemajority of users. Thus, when a tactile output is described ascorresponding to a particular sensory perception of a user (e.g., an “upclick,” a “down click,” “roughness”), unless otherwise stated, thegenerated tactile output corresponds to physical displacement of thedevice or a component thereof that will generate the described sensoryperception for a typical (or average) user.

It should be appreciated that device 100 is only one example of aportable multifunction device, and that device 100 optionally has moreor fewer components than shown, optionally combines two or morecomponents, or optionally has a different configuration or arrangementof the components. The various components shown in FIG. 1A areimplemented in hardware, software, firmware, or a combination thereof,including one or more signal processing and/or application specificintegrated circuits.

Memory 102 optionally includes high-speed random access memory andoptionally also includes non-volatile memory, such as one or moremagnetic disk storage devices, flash memory devices, or othernon-volatile solid-state memory devices. Access to memory 102 by othercomponents of device 100, such as CPU(s) 120 and the peripheralsinterface 118, is, optionally, controlled by memory controller 122.

Peripherals interface 118 can be used to couple input and outputperipherals of the device to CPU(s) 120 and memory 102. The one or moreprocessors 120 run or execute various software programs and/or sets ofinstructions stored in memory 102 to perform various functions fordevice 100 and to process data.

In some embodiments, peripherals interface 118, CPU(s) 120, and memorycontroller 122 are, optionally, implemented on a single chip, such aschip 104. In some other embodiments, they are, optionally, implementedon separate chips.

RF (radio frequency) circuitry 108 receives and sends RF signals, alsocalled electromagnetic signals. RF circuitry 108 converts electricalsignals to/from electromagnetic signals and communicates withcommunications networks and other communications devices via theelectromagnetic signals. RF circuitry 108 optionally includes well-knowncircuitry for performing these functions, including but not limited toan antenna system, an RF transceiver, one or more amplifiers, a tuner,one or more oscillators, a digital signal processor, a CODEC chipset, asubscriber identity module (SIM) card, memory, and so forth. RFcircuitry 108 optionally communicates with networks, such as theInternet, also referred to as the World Wide Web (WWW), an intranetand/or a wireless network, such as a cellular telephone network, awireless local area network (LAN) and/or a metropolitan area network(MAN), and other devices by wireless communication. The wirelesscommunication optionally uses any of a plurality of communicationsstandards, protocols and technologies, including but not limited toGlobal System for Mobile Communications (GSM), Enhanced Data GSMEnvironment (EDGE), high-speed downlink packet access (HSDPA),high-speed uplink packet access (HSUPA), Evolution, Data-Only (EV-DO),HSPA, HSPA+, Dual-Cell HSPA (DC-HSPDA), long term evolution (LTE), nearfield communication (NFC), wideband code division multiple access(W-CDMA), code division multiple access (CDMA), time division multipleaccess (TDMA), Bluetooth, Wireless Fidelity (Wi-Fi) (e.g., IEEE 802.11a,IEEE 802.11ac, IEEE 802.11ax, IEEE 802.11b, IEEE 802.11g and/or IEEE802.11n), voice over Internet Protocol (VoIP), Wi-MAX, a protocol fore-mail (e.g., Internet message access protocol (IMAP) and/or post officeprotocol (POP)), instant messaging (e.g., extensible messaging andpresence protocol (XMPP), Session Initiation Protocol for InstantMessaging and Presence Leveraging Extensions (SIMPLE), Instant Messagingand Presence Service (IMPS)), and/or Short Message Service (SMS), or anyother suitable communication protocol, including communication protocolsnot yet developed as of the filing date of this document.

Audio circuitry 110, speaker 111, and microphone 113 provide an audiointerface between a user and device 100. Audio circuitry 110 receivesaudio data from peripherals interface 118, converts the audio data to anelectrical signal, and transmits the electrical signal to speaker 111.Speaker 111 converts the electrical signal to human-audible sound waves.Audio circuitry 110 also receives electrical signals converted bymicrophone 113 from sound waves. Audio circuitry 110 converts theelectrical signal to audio data and transmits the audio data toperipherals interface 118 for processing. Audio data is, optionally,retrieved from and/or transmitted to memory 102 and/or RF circuitry 108by peripherals interface 118. In some embodiments, audio circuitry 110also includes a headset jack (e.g., 212, FIG. 2A). The headset jackprovides an interface between audio circuitry 110 and removable audioinput/output peripherals, such as output-only headphones or a headsetwith both output (e.g., a headphone for one or both ears) and input(e.g., a microphone).

I/O subsystem 106 couples input/output peripherals on device 100, suchas touch-sensitive display system 112 and other input or control devices116, with peripherals interface 118. I/O subsystem 106 optionallyincludes display controller 156, optical sensor controller 158,intensity sensor controller 159, haptic feedback controller 161, and oneor more input controllers 160 for other input or control devices. Theone or more input controllers 160 receive/send electrical signalsfrom/to other input or control devices 116. The other input or controldevices 116 optionally include physical buttons (e.g., push buttons,rocker buttons, etc.), dials, slider switches, joysticks, click wheels,and so forth. In some alternate embodiments, input controller(s) 160are, optionally, coupled with any (or none) of the following: akeyboard, infrared port, USB port, stylus, and/or a pointer device suchas a mouse. The one or more buttons (e.g., 208, FIG. 2A) optionallyinclude an up/down button for volume control of speaker 111 and/ormicrophone 113. The one or more buttons optionally include a push button(e.g., 206, FIG. 2A).

Touch-sensitive display system 112 provides an input interface and anoutput interface between the device and a user. Display controller 156receives and/or sends electrical signals from/to touch-sensitive displaysystem 112. Touch-sensitive display system 112 displays visual output tothe user. The visual output optionally includes graphics, text, icons,video, and any combination thereof (collectively termed “graphics”). Insome embodiments, some or all of the visual output corresponds touser-interface objects. As used herein, the term “affordance” refers toa user-interactive graphical user interface object (e.g., a graphicaluser interface object that is configured to respond to inputs directedtoward the graphical user interface object). Examples ofuser-interactive graphical user interface objects include, withoutlimitation, a button, slider, icon, selectable menu item, switch,hyperlink, or other user interface control.

Touch-sensitive display system 112 has a touch-sensitive surface, sensoror set of sensors that accepts input from the user based on hapticand/or tactile contact. Touch-sensitive display system 112 and displaycontroller 156 (along with any associated modules and/or sets ofinstructions in memory 102) detect contact (and any movement or breakingof the contact) on touch-sensitive display system 112 and converts thedetected contact into interaction with user-interface objects (e.g., oneor more soft keys, icons, web pages or images) that are displayed ontouch-sensitive display system 112. In an exemplary embodiment, a pointof contact between touch-sensitive display system 112 and the usercorresponds to a finger of the user or a stylus.

Touch-sensitive display system 112 optionally uses LCD (liquid crystaldisplay) technology, LPD (light emitting polymer display) technology, orLED (light emitting diode) technology, although other displaytechnologies are used in other embodiments. Touch-sensitive displaysystem 112 and display controller 156 optionally detect contact and anymovement or breaking thereof using any of a plurality of touch sensingtechnologies now known or later developed, including but not limited tocapacitive, resistive, infrared, and surface acoustic wave technologies,as well as other proximity sensor arrays or other elements fordetermining one or more points of contact with touch-sensitive displaysystem 112. In an exemplary embodiment, projected mutual capacitancesensing technology is used, such as that found in the iPhone®, iPodTouch®, and iPad® from Apple Inc. of Cupertino, Calif.

Touch-sensitive display system 112 optionally has a video resolution inexcess of 100 dpi. In some embodiments, the touch screen videoresolution is in excess of 400 dpi (e.g., 500 dpi, 800 dpi, or greater).The user optionally makes contact with touch-sensitive display system112 using any suitable object or appendage, such as a stylus, a finger,and so forth. In some embodiments, the user interface is designed towork with finger-based contacts and gestures, which can be less precisethan stylus-based input due to the larger area of contact of a finger onthe touch screen. In some embodiments, the device translates the roughfinger-based input into a precise pointer/cursor position or command forperforming the actions desired by the user.

In some embodiments, in addition to the touch screen, device 100optionally includes a touchpad (not shown) for activating ordeactivating particular functions. In some embodiments, the touchpad isa touch-sensitive area of the device that, unlike the touch screen, doesnot display visual output. The touchpad is, optionally, atouch-sensitive surface that is separate from touch-sensitive displaysystem 112 or an extension of the touch-sensitive surface formed by thetouch screen.

Device 100 also includes power system 162 for powering the variouscomponents. Power system 162 optionally includes a power managementsystem, one or more power sources (e.g., battery, alternating current(AC)), a recharging system, a power failure detection circuit, a powerconverter or inverter, a power status indicator (e.g., a light-emittingdiode (LED)) and any other components associated with the generation,management and distribution of power in portable devices.

Device 100 optionally also includes one or more optical sensors 164.FIG. 1A shows an optical sensor coupled with optical sensor controller158 in I/O subsystem 106. Optical sensor(s) 164 optionally includecharge-coupled device (CCD) or complementary metal-oxide semiconductor(CMOS) phototransistors. Optical sensor(s) 164 receive light from theenvironment, projected through one or more lens, and converts the lightto data representing an image. In conjunction with imaging module 143(also called a camera module), optical sensor(s) 164 optionally capturestill images and/or video. In some embodiments, an optical sensor islocated on the back of device 100, opposite touch-sensitive displaysystem 112 on the front of the device, so that the touch screen isenabled for use as a viewfinder for still and/or video imageacquisition. In some embodiments, another optical sensor is located onthe front of the device so that the user's image is obtained (e.g., forselfies, for videoconferencing while the user views the other videoconference participants on the touch screen, etc.).

Device 100 optionally also includes one or more contact intensitysensors 165. FIG. 1A shows a contact intensity sensor coupled withintensity sensor controller 159 in I/O subsystem 106. Contact intensitysensor(s) 165 optionally include one or more piezoresistive straingauges, capacitive force sensors, electric force sensors, piezoelectricforce sensors, optical force sensors, capacitive touch-sensitivesurfaces, or other intensity sensors (e.g., sensors used to measure theforce (or pressure) of a contact on a touch-sensitive surface). Contactintensity sensor(s) 165 receive contact intensity information (e.g.,pressure information or a proxy for pressure information) from theenvironment. In some embodiments, at least one contact intensity sensoris collocated with, or proximate to, a touch-sensitive surface (e.g.,touch-sensitive display system 112). In some embodiments, at least onecontact intensity sensor is located on the back of device 100, oppositetouch-screen display system 112 which is located on the front of device100.

Device 100 optionally also includes one or more proximity sensors 166.FIG. 1A shows proximity sensor 166 coupled with peripherals interface118. Alternately, proximity sensor 166 is coupled with input controller160 in I/O subsystem 106. In some embodiments, the proximity sensorturns off and disables touch-sensitive display system 112 when themultifunction device is placed near the user's ear (e.g., when the useris making a phone call).

Device 100 optionally also includes one or more tactile outputgenerators 167. FIG. 1A shows a tactile output generator coupled withhaptic feedback controller 161 in I/O subsystem 106. Tactile outputgenerator(s) 167 optionally include one or more electroacoustic devicessuch as speakers or other audio components and/or electromechanicaldevices that convert energy into linear motion such as a motor,solenoid, electroactive polymer, piezoelectric actuator, electrostaticactuator, or other tactile output generating component (e.g., acomponent that converts electrical signals into tactile outputs on thedevice). Tactile output generator(s) 167 receive tactile feedbackgeneration instructions from haptic feedback module 133 and generatestactile outputs on device 100 that are capable of being sensed by a userof device 100. In some embodiments, at least one tactile outputgenerator is collocated with, or proximate to, a touch-sensitive surface(e.g., touch-sensitive display system 112) and, optionally, generates atactile output by moving the touch-sensitive surface vertically (e.g.,in/out of a surface of device 100) or laterally (e.g., back and forth inthe same plane as a surface of device 100). In some embodiments, atleast one tactile output generator sensor is located on the back ofdevice 100, opposite touch-sensitive display system 112, which islocated on the front of device 100.

Device 100 optionally also includes one or more accelerometers 168. FIG.1A shows accelerometer 168 coupled with peripherals interface 118.Alternately, accelerometer 168 is, optionally, coupled with an inputcontroller 160 in I/O subsystem 106. In some embodiments, information isdisplayed on the touch-screen display in a portrait view or a landscapeview based on an analysis of data received from the one or moreaccelerometers. Device 100 optionally includes, in addition toaccelerometer(s) 168, a magnetometer (not shown) and a GPS (or GLONASSor other global navigation system) receiver (not shown) for obtaininginformation concerning the location and orientation (e.g., portrait orlandscape) of device 100.

In some embodiments, the software components stored in memory 102include operating system 126, communication module (or set ofinstructions) 128, contact/motion module (or set of instructions) 130,graphics module (or set of instructions) 132, haptic feedback module (orset of instructions) 133, text input module (or set of instructions)134, Global Positioning System (GPS) module (or set of instructions)135, and applications (or sets of instructions) 136. Furthermore, insome embodiments, memory 102 stores device/global internal state 157, asshown in FIGS. 1A and 3. Device/global internal state 157 includes oneor more of: active application state, indicating which applications, ifany, are currently active; display state, indicating what applications,views or other information occupy various regions of touch-sensitivedisplay system 112; sensor state, including information obtained fromthe device's various sensors and other input or control devices 116; andlocation and/or positional information concerning the device's locationand/or attitude.

Operating system 126 (e.g., iOS, Darwin, RTXC, LINUX, UNIX, OS X,WINDOWS, or an embedded operating system such as VxWorks) includesvarious software components and/or drivers for controlling and managinggeneral system tasks (e.g., memory management, storage device control,power management, etc.) and facilitates communication between varioushardware and software components.

Communication module 128 facilitates communication with other devicesover one or more external ports 124 and also includes various softwarecomponents for handling data received by RF circuitry 108 and/orexternal port 124. External port 124 (e.g., Universal Serial Bus (USB),FIREWIRE, etc.) is adapted for coupling directly to other devices orindirectly over a network (e.g., the Internet, wireless LAN, etc.). Insome embodiments, the external port is a multi-pin (e.g., 30-pin)connector that is the same as, or similar to and/or compatible with the30-pin connector used in some iPhone®, iPod Touch®, and iPad® devicesfrom Apple Inc. of Cupertino, Calif. In some embodiments, the externalport is a Lightning connector that is the same as, or similar to and/orcompatible with the Lightning connector used in some iPhone®, iPodTouch®, and iPad® devices from Apple Inc. of Cupertino, Calif.

Contact/motion module 130 optionally detects contact withtouch-sensitive display system 112 (in conjunction with displaycontroller 156) and other touch-sensitive devices (e.g., a touchpad orphysical click wheel). Contact/motion module 130 includes varioussoftware components for performing various operations related todetection of contact (e.g., by a finger or by a stylus), such asdetermining if contact has occurred (e.g., detecting a finger-downevent), determining an intensity of the contact (e.g., the force orpressure of the contact or a substitute for the force or pressure of thecontact), determining if there is movement of the contact and trackingthe movement across the touch-sensitive surface (e.g., detecting one ormore finger-dragging events), and determining if the contact has ceased(e.g., detecting a finger-up event or a break in contact).Contact/motion module 130 receives contact data from the touch-sensitivesurface. Determining movement of the point of contact, which isrepresented by a series of contact data, optionally includes determiningspeed (magnitude), velocity (magnitude and direction), and/or anacceleration (a change in magnitude and/or direction) of the point ofcontact. These operations are, optionally, applied to single contacts(e.g., one finger contacts or stylus contacts) or to multiplesimultaneous contacts (e.g., “multitouch”/multiple finger contacts). Insome embodiments, contact/motion module 130 and display controller 156detect contact on a touchpad.

Contact/motion module 130 optionally detects a gesture input by a user.Different gestures on the touch-sensitive surface have different contactpatterns (e.g., different motions, timings, and/or intensities ofdetected contacts). Thus, a gesture is, optionally, detected bydetecting a particular contact pattern. For example, detecting a fingertap gesture includes detecting a finger-down event followed by detectinga finger-up (lift off) event at the same position (or substantially thesame position) as the finger-down event (e.g., at the position of anicon). As another example, detecting a finger swipe gesture on thetouch-sensitive surface includes detecting a finger-down event followedby detecting one or more finger-dragging events, and subsequentlyfollowed by detecting a finger-up (lift off) event. Similarly, tap,swipe, drag, and other gestures are optionally detected for a stylus bydetecting a particular contact pattern for the stylus.

Graphics module 132 includes various known software components forrendering and displaying graphics on touch-sensitive display system 112or other display, including components for changing the visual impact(e.g., brightness, transparency, saturation, contrast or other visualproperty) of graphics that are displayed. As used herein, the term“graphics” includes any object that can be displayed to a user,including without limitation text, web pages, icons (such asuser-interface objects including soft keys), digital images, videos,animations and the like.

In some embodiments, graphics module 132 stores data representinggraphics to be used. Each graphic is, optionally, assigned acorresponding code. Graphics module 132 receives, from applicationsetc., one or more codes specifying graphics to be displayed along with,if necessary, coordinate data and other graphic property data, and thengenerates screen image data to output to display controller 156.

Haptic feedback module 133 includes various software components forgenerating instructions used by tactile output generator(s) 167 toproduce tactile outputs at one or more locations on device 100 inresponse to user interactions with device 100.

Text input module 134, which is, optionally, a component of graphicsmodule 132, provides soft keyboards for entering text in variousapplications (e.g., contacts 137, e-mail 140, IM 141, browser 147, andany other application that needs text input).

GPS module 135 determines the location of the device and provides thisinformation for use in various applications (e.g., to telephone 138 foruse in location-based dialing, to camera 143 as picture/video metadata,and to applications that provide location-based services such as weatherwidgets, local yellow page widgets, and map/navigation widgets).

Applications 136 optionally include the following modules (or sets ofinstructions), or a subset or superset thereof:

-   -   contacts module 137 (sometimes called an address book or contact        list);    -   telephone module 138;    -   video conferencing module 139;    -   e-mail client module 140;    -   instant messaging (IM) module 141;    -   workout support module 142;    -   camera module 143 for still and/or video images;    -   image management module 144;    -   browser module 147;    -   calendar module 148;    -   widget modules 149, which optionally include one or more of:        weather widget 149-1, stocks widget 149-2, calculator widget        149-3, alarm clock widget 149-4, dictionary widget 149-5, and        other widgets obtained by the user, as well as user-created        widgets 149-6;    -   widget creator module 150 for making user-created widgets 149-6;    -   search module 151;    -   video and music player module 152, which is, optionally, made up        of a video player module and a music player module;    -   notes module 153;    -   map module 154; and/or    -   online video module 155.

Examples of other applications 136 that are, optionally, stored inmemory 102 include other word processing applications, other imageediting applications, drawing applications, presentation applications,JAVA-enabled applications, encryption, digital rights management, voicerecognition, and voice replication.

In conjunction with touch-sensitive display system 112, displaycontroller 156, contact module 130, graphics module 132, and text inputmodule 134, contacts module 137 includes executable instructions tomanage an address book or contact list (e.g., stored in applicationinternal state 192 of contacts module 137 in memory 102 or memory 370),including: adding name(s) to the address book; deleting name(s) from theaddress book; associating telephone number(s), e-mail address(es),physical address(es) or other information with a name; associating animage with a name; categorizing and sorting names; providing telephonenumbers and/or e-mail addresses to initiate and/or facilitatecommunications by telephone 138, video conference 139, e-mail 140, or IM141; and so forth.

In conjunction with RF circuitry 108, audio circuitry 110, speaker 111,microphone 113, touch-sensitive display system 112, display controller156, contact module 130, graphics module 132, and text input module 134,telephone module 138 includes executable instructions to enter asequence of characters corresponding to a telephone number, access oneor more telephone numbers in address book 137, modify a telephone numberthat has been entered, dial a respective telephone number, conduct aconversation and disconnect or hang up when the conversation iscompleted. As noted above, the wireless communication optionally usesany of a plurality of communications standards, protocols andtechnologies.

In conjunction with RF circuitry 108, audio circuitry 110, speaker 111,microphone 113, touch-sensitive display system 112, display controller156, optical sensor(s) 164, optical sensor controller 158, contactmodule 130, graphics module 132, text input module 134, contact list137, and telephone module 138, videoconferencing module 139 includesexecutable instructions to initiate, conduct, and terminate a videoconference between a user and one or more other participants inaccordance with user instructions.

In conjunction with RF circuitry 108, touch-sensitive display system112, display controller 156, contact module 130, graphics module 132,and text input module 134, e-mail client module 140 includes executableinstructions to create, send, receive, and manage e-mail in response touser instructions. In conjunction with image management module 144,e-mail client module 140 makes it very easy to create and send e-mailswith still or video images taken with camera module 143.

In conjunction with RF circuitry 108, touch-sensitive display system112, display controller 156, contact module 130, graphics module 132,and text input module 134, the instant messaging module 141 includesexecutable instructions to enter a sequence of characters correspondingto an instant message, to modify previously entered characters, totransmit a respective instant message (for example, using a ShortMessage Service (SMS) or Multimedia Message Service (MMS) protocol fortelephony-based instant messages or using XMPP, SIMPLE, Apple PushNotification Service (APNs) or IMPS for Internet-based instantmessages), to receive instant messages and to view received instantmessages. In some embodiments, transmitted and/or received instantmessages optionally include graphics, photos, audio files, video filesand/or other attachments as are supported in a MMS and/or an EnhancedMessaging Service (EMS). As used herein, “instant messaging” refers toboth telephony-based messages (e.g., messages sent using SMS or MMS) andInternet-based messages (e.g., messages sent using XMPP, SIMPLE, APNs,or IMPS).

In conjunction with RF circuitry 108, touch-sensitive display system112, display controller 156, contact module 130, graphics module 132,text input module 134, GPS module 135, map module 154, and music playermodule 146, workout support module 142 includes executable instructionsto create workouts (e.g., with time, distance, and/or calorie burninggoals); communicate with workout sensors (in sports devices and smartwatches); receive workout sensor data; calibrate sensors used to monitora workout; select and play music for a workout; and display, store andtransmit workout data.

In conjunction with touch-sensitive display system 112, displaycontroller 156, optical sensor(s) 164, optical sensor controller 158,contact module 130, graphics module 132, and image management module144, camera module 143 includes executable instructions to capture stillimages or video (including a video stream) and store them into memory102, modify characteristics of a still image or video, and/or delete astill image or video from memory 102.

In conjunction with touch-sensitive display system 112, displaycontroller 156, contact module 130, graphics module 132, text inputmodule 134, and camera module 143, image management module 144 includesexecutable instructions to arrange, modify (e.g., edit), or otherwisemanipulate, label, delete, present (e.g., in a digital slide show oralbum), and store still and/or video images.

In conjunction with RF circuitry 108, touch-sensitive display system112, display system controller 156, contact module 130, graphics module132, and text input module 134, browser module 147 includes executableinstructions to browse the Internet in accordance with userinstructions, including searching, linking to, receiving, and displayingweb pages or portions thereof, as well as attachments and other fileslinked to web pages.

In conjunction with RF circuitry 108, touch-sensitive display system112, display system controller 156, contact module 130, graphics module132, text input module 134, e-mail client module 140, and browser module147, calendar module 148 includes executable instructions to create,display, modify, and store calendars and data associated with calendars(e.g., calendar entries, to do lists, etc.) in accordance with userinstructions.

In conjunction with RF circuitry 108, touch-sensitive display system112, display system controller 156, contact module 130, graphics module132, text input module 134, and browser module 147, widget modules 149are mini-applications that are, optionally, downloaded and used by auser (e.g., weather widget 149-1, stocks widget 149-2, calculator widget149-3, alarm clock widget 149-4, and dictionary widget 149-5) or createdby the user (e.g., user-created widget 149-6). In some embodiments, awidget includes an HTML (Hypertext Markup Language) file, a CSS(Cascading Style Sheets) file, and a JavaScript file. In someembodiments, a widget includes an XML (Extensible Markup Language) fileand a JavaScript file (e.g., Yahoo! Widgets).

In conjunction with RF circuitry 108, touch-sensitive display system112, display system controller 156, contact module 130, graphics module132, text input module 134, and browser module 147, the widget creatormodule 150 includes executable instructions to create widgets (e.g.,turning a user-specified portion of a web page into a widget).

In conjunction with touch-sensitive display system 112, display systemcontroller 156, contact module 130, graphics module 132, and text inputmodule 134, search module 151 includes executable instructions to searchfor text, music, sound, image, video, and/or other files in memory 102that match one or more search criteria (e.g., one or more user-specifiedsearch terms) in accordance with user instructions.

In conjunction with touch-sensitive display system 112, display systemcontroller 156, contact module 130, graphics module 132, audio circuitry110, speaker 111, RF circuitry 108, and browser module 147, video andmusic player module 152 includes executable instructions that allow theuser to download and play back recorded music and other sound filesstored in one or more file formats, such as MP3 or AAC files, andexecutable instructions to display, present or otherwise play backvideos (e.g., on touch-sensitive display system 112, or on an externaldisplay connected wirelessly or via external port 124). In someembodiments, device 100 optionally includes the functionality of an MP3player, such as an iPod (trademark of Apple Inc.).

In conjunction with touch-sensitive display system 112, displaycontroller 156, contact module 130, graphics module 132, and text inputmodule 134, notes module 153 includes executable instructions to createand manage notes, to do lists, and the like in accordance with userinstructions.

In conjunction with RF circuitry 108, touch-sensitive display system112, display system controller 156, contact module 130, graphics module132, text input module 134, GPS module 135, and browser module 147, mapmodule 154 includes executable instructions to receive, display, modify,and store maps and data associated with maps (e.g., driving directions;data on stores and other points of interest at or near a particularlocation; and other location-based data) in accordance with userinstructions.

In conjunction with touch-sensitive display system 112, display systemcontroller 156, contact module 130, graphics module 132, audio circuitry110, speaker 111, RF circuitry 108, text input module 134, e-mail clientmodule 140, and browser module 147, online video module 155 includesexecutable instructions that allow the user to access, browse, receive(e.g., by streaming and/or download), play back (e.g., on the touchscreen 112, or on an external display connected wirelessly or viaexternal port 124), send an e-mail with a link to a particular onlinevideo, and otherwise manage online videos in one or more file formats,such as H.264. In some embodiments, instant messaging module 141, ratherthan e-mail client module 140, is used to send a link to a particularonline video.

Each of the above identified modules and applications correspond to aset of executable instructions for performing one or more functionsdescribed above and the methods described in this application (e.g., thecomputer-implemented methods and other information processing methodsdescribed herein). These modules (i.e., sets of instructions) need notbe implemented as separate software programs, procedures or modules, andthus various subsets of these modules are, optionally, combined orotherwise re-arranged in various embodiments. In some embodiments,memory 102 optionally stores a subset of the modules and data structuresidentified above. Furthermore, memory 102 optionally stores additionalmodules and data structures not described above.

In some embodiments, device 100 is a device where operation of apredefined set of functions on the device is performed exclusivelythrough a touch screen and/or a touchpad. By using a touch screen and/ora touchpad as the primary input control device for operation of device100, the number of physical input control devices (such as push buttons,dials, and the like) on device 100 is, optionally, reduced.

The predefined set of functions that are performed exclusively through atouch screen and/or a touchpad optionally include navigation betweenuser interfaces. In some embodiments, the touchpad, when touched by theuser, navigates device 100 to a main, home, or root menu from any userinterface that is displayed on device 100. In such embodiments, a “menubutton” is implemented using a touchpad. In some other embodiments, themenu button is a physical push button or other physical input controldevice instead of a touchpad.

FIG. 1B is a block diagram illustrating exemplary components for eventhandling in accordance with some embodiments. In some embodiments,memory 102 (in FIG. 1A) includes event sorter 170 (e.g., in operatingsystem 126) and a respective application 136-1 (e.g., any of theaforementioned applications 137-153).

Event sorter 170 receives event information and determines theapplication 136-1 and application view 191 of application 136-1 to whichto deliver the event information. Event sorter 170 includes eventmonitor 171 and event dispatcher module 174. In some embodiments,application 136-1 includes application internal state 192, whichindicates the current application view(s) displayed on touch sensitivedisplay 112 when the application is active or executing. In someembodiments, device/global internal state stored in the memory 102 isused by event sorter 170 to determine which application(s) is (are)currently active, and application internal state 192 is used by eventsorter 170 to determine application views 191 to which to deliver eventinformation.

In some embodiments, application internal state 192 includes additionalinformation, such as one or more of: resume information to be used whenapplication 136-1 resumes execution, user interface state informationthat indicates information being displayed or that is ready for displayby application 136-1, a state queue for enabling the user to go back toa prior state or view of application 136-1, and a redo/undo queue ofprevious actions taken by the user.

Event monitor 171 receives event information from peripherals interface118. Event information includes information about a sub-event (e.g., auser touch on touch-sensitive display 112, as part of a multi-touchgesture). Peripherals interface 118 transmits information it receivesfrom I/O subsystem 106 or a sensor, such as proximity sensor 166,accelerometer(s) 168, and/or microphone 113 (through audio circuitry110). Information that peripherals interface 118 receives from I/Osubsystem 106 includes information from touch-sensitive display 112 or atouch-sensitive surface.

In some embodiments, event monitor 171 sends requests to the peripheralsinterface 118 at predetermined intervals. In response, peripheralsinterface 118 transmits event information. In other embodiments,peripheral interface 118 transmits event information only when there isa significant event (e.g., receiving an input above a predeterminednoise threshold and/or for more than a predetermined duration).

In some embodiments, event sorter 170 also includes a hit viewdetermination module 172 and/or an active event recognizer determinationmodule 173.

Hit view determination module 172 provides software procedures fordetermining where a sub-event has taken place within one or more views,when touch sensitive display 112 displays more than one view. Views aremade up of controls and other elements that a user can see on thedisplay.

Another aspect of the user interface associated with an application is aset of views, sometimes herein called application views or userinterface windows, in which information is displayed and touch-basedgestures occur. The application views (of a respective application) inwhich a touch is detected may correspond to programmatic levels within aprogrammatic or view hierarchy of the application. For example, thelowest level view in which a touch is detected may be called the hitview, and the set of events that are recognized as proper inputs may bedetermined based, at least in part, on the hit view of the initial touchthat begins a touch-based gesture.

Hit view determination module 172 receives information related tosub-events of a touch-based gesture. When an application has multipleviews organized in a hierarchy, hit view determination module 172identifies a hit view as the lowest view in the hierarchy which shouldhandle the sub-event. In most circumstances, the hit view is the lowestlevel view in which an initiating sub-event occurs (e.g., the firstsub-event in the sequence of sub-events that form an event or potentialevent). Once the hit view is identified by the hit view determinationmodule, the hit view typically receives all sub-events related to thesame touch or input source for which it was identified as the hit view.

Active event recognizer determination module 173 determines which viewor views within a view hierarchy should receive a particular sequence ofsub-events. In some embodiments, active event recognizer determinationmodule 173 determines that only the hit view should receive a particularsequence of sub-events. In other embodiments, active event recognizerdetermination module 173 determines that all views that include thephysical location of a sub-event are actively involved views, andtherefore determines that all actively involved views should receive aparticular sequence of sub-events. In other embodiments, even if touchsub-events were entirely confined to the area associated with oneparticular view, views higher in the hierarchy would still remain asactively involved views.

Event dispatcher module 174 dispatches the event information to an eventrecognizer (e.g., event recognizer 180). In embodiments including activeevent recognizer determination module 173, event dispatcher module 174delivers the event information to an event recognizer determined byactive event recognizer determination module 173. In some embodiments,event dispatcher module 174 stores in an event queue the eventinformation, which is retrieved by a respective event receiver module182.

In some embodiments, operating system 126 includes event sorter 170.Alternatively, application 136-1 includes event sorter 170. In yet otherembodiments, event sorter 170 is a stand-alone module, or a part ofanother module stored in memory 102, such as contact/motion module 130.

In some embodiments, application 136-1 includes a plurality of eventhandlers 190 and one or more application views 191, each of whichincludes instructions for handling touch events that occur within arespective view of the application's user interface. Each applicationview 191 of the application 136-1 includes one or more event recognizers180. Typically, a respective application view 191 includes a pluralityof event recognizers 180. In other embodiments, one or more of eventrecognizers 180 are part of a separate module, such as a user interfacekit (not shown) or a higher level object from which application 136-1inherits methods and other properties. In some embodiments, a respectiveevent handler 190 includes one or more of: data updater 176, objectupdater 177, GUI updater 178, and/or event data 179 received from eventsorter 170. Event handler 190 may utilize or call data updater 176,object updater 177 or GUI updater 178 to update the application internalstate 192. Alternatively, one or more of the application views 191includes one or more respective event handlers 190. Also, in someembodiments, one or more of data updater 176, object updater 177, andGUI updater 178 are included in a respective application view 191.

A respective event recognizer 180 receives event information (e.g.,event data 179) from event sorter 170, and identifies an event from theevent information. Event recognizer 180 includes event receiver 182 andevent comparator 184. In some embodiments, event recognizer 180 alsoincludes at least a subset of: metadata 183, and event deliveryinstructions 188 (which may include sub-event delivery instructions).

Event receiver 182 receives event information from event sorter 170. Theevent information includes information about a sub-event, for example, atouch or a touch movement. Depending on the sub-event, the eventinformation also includes additional information, such as location ofthe sub-event. When the sub-event concerns motion of a touch the eventinformation may also include speed and direction of the sub-event. Insome embodiments, events include rotation of the device from oneorientation to another (e.g., from a portrait orientation to a landscapeorientation, or vice versa), and the event information includescorresponding information about the current orientation (also calleddevice attitude) of the device.

Event comparator 184 compares the event information to predefined eventor sub-event definitions and, based on the comparison, determines anevent or sub-event, or determines or updates the state of an event orsub-event. In some embodiments, event comparator 184 includes eventdefinitions 186. Event definitions 186 contain definitions of events(e.g., predefined sequences of sub-events), for example, event 1(187-1), event 2 (187-2), and others. In some embodiments, sub-events inan event 187 include, for example, touch begin, touch end, touchmovement, touch cancellation, and multiple touching. In one example, thedefinition for event 1 (187-1) is a double-tap on a displayed object.The double-tap, for example, comprises a first touch (touch begin) onthe displayed object for a predetermined phase, a first lift-off (touchend) for a predetermined phase, a second touch (touch begin) on thedisplayed object for a predetermined phase, and a second lift-off (touchend) for a predetermined phase. In another example, the definition forevent 2 (187-2) is a dragging on a displayed object. The dragging, forexample, comprises a touch (or contact) on the displayed object for apredetermined phase, a movement of the touch across touch-sensitivedisplay 112, and lift-off of the touch (touch end). In some embodiments,the event also includes information for one or more associated eventhandlers 190.

In some embodiments, event definition 187 includes a definition of anevent for a respective user-interface object. In some embodiments, eventcomparator 184 performs a hit test to determine which user-interfaceobject is associated with a sub-event. For example, in an applicationview in which three user-interface objects are displayed ontouch-sensitive display 112, when a touch is detected on touch-sensitivedisplay 112, event comparator 184 performs a hit test to determine whichof the three user-interface objects is associated with the touch(sub-event). If each displayed object is associated with a respectiveevent handler 190, the event comparator uses the result of the hit testto determine which event handler 190 should be activated. For example,event comparator 184 selects an event handler associated with thesub-event and the object triggering the hit test.

In some embodiments, the definition for a respective event 187 alsoincludes delayed actions that delay delivery of the event informationuntil after it has been determined whether the sequence of sub-eventsdoes or does not correspond to the event recognizer's event type.

When a respective event recognizer 180 determines that the series ofsub-events do not match any of the events in event definitions 186, therespective event recognizer 180 enters an event impossible, eventfailed, or event ended state, after which it disregards subsequentsub-events of the touch-based gesture. In this situation, other eventrecognizers, if any, that remain active for the hit view continue totrack and process sub-events of an ongoing touch-based gesture.

In some embodiments, a respective event recognizer 180 includes metadata183 with configurable properties, flags, and/or lists that indicate howthe event delivery system should perform sub-event delivery to activelyinvolved event recognizers. In some embodiments, metadata 183 includesconfigurable properties, flags, and/or lists that indicate how eventrecognizers may interact with one another. In some embodiments, metadata183 includes configurable properties, flags, and/or lists that indicatewhether sub-events are delivered to varying levels in the view orprogrammatic hierarchy.

In some embodiments, a respective event recognizer 180 activates eventhandler 190 associated with an event when one or more particularsub-events of an event are recognized. In some embodiments, a respectiveevent recognizer 180 delivers event information associated with theevent to event handler 190. Activating an event handler 190 is distinctfrom sending (and deferred sending) sub-events to a respective hit view.In some embodiments, event recognizer 180 throws a flag associated withthe recognized event, and event handler 190 associated with the flagcatches the flag and performs a predefined process.

In some embodiments, event delivery instructions 188 include sub-eventdelivery instructions that deliver event information about a sub-eventwithout activating an event handler. Instead, the sub-event deliveryinstructions deliver event information to event handlers associated withthe series of sub-events or to actively involved views. Event handlersassociated with the series of sub-events or with actively involved viewsreceive the event information and perform a predetermined process.

In some embodiments, data updater 176 creates and updates data used inapplication 136-1. For example, data updater 176 updates the telephonenumber used in contacts module 137, or stores a video file used in videoand music player module 145. In some embodiments, object updater 177creates and updates objects used in application 136-1. For example,object updater 177 creates a new user-interface object or updates theposition of a user-interface object. GUI updater 178 updates the GUI.For example, GUI updater 178 prepares display information and sends itto graphics module 132 for display on a touch-sensitive display.

In some embodiments, event handler(s) 190 includes or has access to dataupdater 176, object updater 177, and GUI updater 178. In someembodiments, data updater 176, object updater 177, and GUI updater 178are included in a single module of a respective application 136-1 orapplication view 191. In other embodiments, they are included in two ormore software modules.

It shall be understood that the foregoing discussion regarding eventhandling of user touches on touch-sensitive displays also applies toother forms of user inputs to operate multifunction devices 100 withinput-devices, not all of which are initiated on touch screens, e.g.,coordinating mouse movement and mouse button presses with or withoutsingle or multiple keyboard presses or holds, user movements taps,drags, scrolls, etc., on touch-pads, pen stylus inputs, movement of thedevice, oral instructions, detected eye movements, biometric inputs,and/or any combination thereof, which may be utilized as inputscorresponding to sub-events which define an event to be recognized.

FIG. 2A illustrates a portable multifunction device 100 having a touchscreen (e.g., touch-sensitive display system 112, FIG. 1A) in accordancewith some embodiments. The touch screen optionally displays one or moregraphics within user interface (UI) 200. In this embodiment, as well asothers described below, a user is enabled to select one or more of thegraphics by making a gesture on the graphics, for example, with one ormore fingers 202 (not drawn to scale in the figure) or one or morestyluses 203 (not drawn to scale in the figure). In some embodiments,selection of one or more graphics occurs when the user breaks contactwith the one or more graphics. In some embodiments, the gestureoptionally includes one or more taps, one or more swipes (from left toright, right to left, upward and/or downward) and/or a rolling of afinger (from right to left, left to right, upward and/or downward) thathas made contact with device 100. In some implementations orcircumstances, inadvertent contact with a graphic does not select thegraphic. For example, a swipe gesture that sweeps over an applicationicon optionally does not select the corresponding application when thegesture corresponding to selection is a tap.

Device 100 optionally also includes one or more physical buttons, suchas “home” or menu button 204. As described previously, menu button 204is, optionally, used to navigate to any application 136 in a set ofapplications that are, optionally executed on device 100. Alternatively,in some embodiments, the menu button is implemented as a soft key in aGUI displayed on the touch-screen display.

In some embodiments, device 100 includes the touch-screen display, menubutton 204, push button 206 for powering the device on/off and lockingthe device, volume adjustment button(s) 208, Subscriber Identity Module(SIM) card slot 210, head set jack 212, and docking/charging externalport 124. Push button 206 is, optionally, used to turn the power on/offon the device by depressing the button and holding the button in thedepressed state for a predefined time interval; to lock the device bydepressing the button and releasing the button before the predefinedtime interval has elapsed; and/or to unlock the device or initiate anunlock process. In some embodiments, device 100 also accepts verbalinput for activation or deactivation of some functions throughmicrophone 113. Device 100 also, optionally, includes one or morecontact intensity sensors 165 for detecting intensity of contacts ontouch-sensitive display system 112 and/or one or more tactile outputgenerators 167 for generating tactile outputs for a user of device 100.

FIG. 2B illustrates an exemplary user interface on a device (e.g.,device 100, FIG. 1A) with a touch-sensitive surface 251 (e.g., a tabletor touchpad) that is separate from the display 250. Device 100 also,optionally, includes one or more contact intensity sensors (e.g., one ormore of sensors 259) for detecting intensity of contacts ontouch-sensitive surface 251 and/or one or more tactile output generators257 for generating tactile outputs for a user of device 100.

Although many of the examples that follow will be given with referenceto inputs on touch screen display 112 (where the touch sensitive surfaceand the display are combined), in some embodiments, the device detectsinputs on a touch-sensitive surface that is separate from the display,as shown in FIG. 2B. In some embodiments, the touch-sensitive surface(e.g., 251 in FIG. 2B) has a primary axis (e.g., 252 in FIG. 2B) thatcorresponds to a primary axis (e.g., 253 in FIG. 2B) on the display(e.g., 250). In accordance with these embodiments, the device detectscontacts (e.g., 260 and 262 in FIG. 2B) with the touch-sensitive surface251 at locations that correspond to respective locations on the display(e.g., in FIG. 2B, 260 corresponds to 268 and 262 corresponds to 270).In this way, user inputs (e.g., contacts 260 and 262, and movementsthereof) detected by the device on the touch-sensitive surface (e.g.,251 in FIG. 2B) are used by the device to manipulate the user interfaceon the display (e.g., 250 in FIG. 2B) of the multifunction device whenthe touch-sensitive surface is separate from the display. It should beunderstood that similar methods are, optionally, used for other userinterfaces described herein.

Additionally, while the following examples are given primarily withreference to finger inputs (e.g., finger contacts, finger tap gestures,finger swipe gestures, etc.), it should be understood that, in someembodiments, one or more of the finger inputs are replaced with inputfrom another input device (e.g., a mouse based input or a stylus input).For example, a swipe gesture is, optionally, replaced with a mouse click(e.g., instead of a contact) followed by movement of the cursor alongthe path of the swipe (e.g., instead of movement of the contact). Asanother example, a tap gesture is, optionally, replaced with a mouseclick while the cursor is located over the location of the tap gesture(e.g., instead of detection of the contact followed by ceasing to detectthe contact). Similarly, when multiple user inputs are simultaneouslydetected, it should be understood that multiple computer mice are,optionally, used simultaneously, or a mouse and finger contacts are,optionally, used simultaneously.

As used herein, the term “focus selector” refers to an input elementthat indicates a current part of a user interface with which a user isinteracting. In some implementations that include a cursor or otherlocation marker, the cursor acts as a “focus selector,” so that when aninput (e.g., a press input) is detected on a touch-sensitive surface(e.g., touchpad or touch-sensitive surface 251 in FIG. 2B) while thecursor is over a particular user interface element (e.g., a button,window, slider or other user interface element), the particular userinterface element is adjusted in accordance with the detected input. Insome implementations that include a touch-screen display (e.g.,touch-sensitive display system 112 in FIG. 1A or the touch screen inFIG. 2A) that enables direct interaction with user interface elements onthe touch-screen display, a detected contact on the touch-screen acts asa “focus selector,” so that when an input (e.g., a press input by thecontact) is detected on the touch-screen display at a location of aparticular user interface element (e.g., a button, window, slider orother user interface element), the particular user interface element isadjusted in accordance with the detected input. In some implementations,focus is moved from one region of a user interface to another region ofthe user interface without corresponding movement of a cursor ormovement of a contact on a touch-screen display (e.g., by using a tabkey or arrow keys to move focus from one button to another button); inthese implementations, the focus selector moves in accordance withmovement of focus between different regions of the user interface.Without regard to the specific form taken by the focus selector, thefocus selector is generally the user interface element (or contact on atouch-screen display) that is controlled by the user so as tocommunicate the user's intended interaction with the user interface(e.g., by indicating, to the device, the element of the user interfacewith which the user is intending to interact). For example, the locationof a focus selector (e.g., a cursor, a contact, or a selection box) overa respective button while a press input is detected on thetouch-sensitive surface (e.g., a touchpad or touch screen) will indicatethat the user is intending to activate the respective button (as opposedto other user interface elements shown on a display of the device).

As used in the specification and claims, the term “intensity” of acontact on a touch-sensitive surface refers to the force or pressure(force per unit area) of a contact (e.g., a finger contact or a styluscontact) on the touch-sensitive surface, or to a substitute (proxy) forthe force or pressure of a contact on the touch-sensitive surface. Theintensity of a contact has a range of values that includes at least fourdistinct values and more typically includes hundreds of distinct values(e.g., at least 256). Intensity of a contact is, optionally, determined(or measured) using various approaches and various sensors orcombinations of sensors. For example, one or more force sensorsunderneath or adjacent to the touch-sensitive surface are, optionally,used to measure force at various points on the touch-sensitive surface.In some implementations, force measurements from multiple force sensorsare combined (e.g., a weighted average or a sum) to determine anestimated force of a contact. Similarly, a pressure-sensitive tip of astylus is, optionally, used to determine a pressure of the stylus on thetouch-sensitive surface. Alternatively, the size of the contact areadetected on the touch-sensitive surface and/or changes thereto, thecapacitance of the touch-sensitive surface proximate to the contactand/or changes thereto, and/or the resistance of the touch-sensitivesurface proximate to the contact and/or changes thereto are, optionally,used as a substitute for the force or pressure of the contact on thetouch-sensitive surface. In some implementations, the substitutemeasurements for contact force or pressure are used directly todetermine whether an intensity threshold has been exceeded (e.g., theintensity threshold is described in units corresponding to thesubstitute measurements). In some implementations, the substitutemeasurements for contact force or pressure are converted to an estimatedforce or pressure and the estimated force or pressure is used todetermine whether an intensity threshold has been exceeded (e.g., theintensity threshold is a pressure threshold measured in units ofpressure). Using the intensity of a contact as an attribute of a userinput allows for user access to additional device functionality that mayotherwise not be readily accessible by the user on a reduced-size devicewith limited real estate for displaying affordances (e.g., on atouch-sensitive display) and/or receiving user input (e.g., via atouch-sensitive display, a touch-sensitive surface, or aphysical/mechanical control such as a knob or a button).

In some embodiments, contact/motion module 130 uses a set of one or moreintensity thresholds to determine whether an operation has beenperformed by a user (e.g., to determine whether a user has “clicked” onan icon). In some embodiments, at least a subset of the intensitythresholds are determined in accordance with software parameters (e.g.,the intensity thresholds are not determined by the activation thresholdsof particular physical actuators and can be adjusted without changingthe physical hardware of device 100). For example, a mouse “click”threshold of a trackpad or touch-screen display can be set to any of alarge range of predefined thresholds values without changing thetrackpad or touch-screen display hardware. Additionally, in someimplementations a user of the device is provided with software settingsfor adjusting one or more of the set of intensity thresholds (e.g., byadjusting individual intensity thresholds and/or by adjusting aplurality of intensity thresholds at once with a system-level click“intensity” parameter).

As used in the specification and claims, the term “characteristicintensity” of a contact refers to a characteristic of the contact basedon one or more intensities of the contact. In some embodiments, thecharacteristic intensity is based on multiple intensity samples. Thecharacteristic intensity is, optionally, based on a predefined number ofintensity samples, or a set of intensity samples collected during apredetermined time period (e.g., 0.05, 0.1, 0.2, 0.5, 1, 2, 5, 10seconds) relative to a predefined event (e.g., after detecting thecontact, prior to detecting liftoff of the contact, before or afterdetecting a start of movement of the contact, prior to detecting an endof the contact, before or after detecting an increase in intensity ofthe contact, and/or before or after detecting a decrease in intensity ofthe contact). A characteristic intensity of a contact is, optionallybased on one or more of: a maximum value of the intensities of thecontact, a mean value of the intensities of the contact, an averagevalue of the intensities of the contact, a top 10 percentile value ofthe intensities of the contact, a value at the half maximum of theintensities of the contact, a value at the 90 percent maximum of theintensities of the contact, or the like. In some embodiments, theduration of the contact is used in determining the characteristicintensity (e.g., when the characteristic intensity is an average of theintensity of the contact over time). In some embodiments, thecharacteristic intensity is compared to a set of one or more intensitythresholds to determine whether an operation has been performed by auser. For example, the set of one or more intensity thresholds mayinclude a first intensity threshold and a second intensity threshold. Inthis example, a contact with a characteristic intensity that does notexceed the first threshold results in a first operation, a contact witha characteristic intensity that exceeds the first intensity thresholdand does not exceed the second intensity threshold results in a secondoperation, and a contact with a characteristic intensity that exceedsthe second intensity threshold results in a third operation. In someembodiments, a comparison between the characteristic intensity and oneor more intensity thresholds is used to determine whether or not toperform one or more operations (e.g., whether to perform a respectiveoption or forgo performing the respective operation) rather than beingused to determine whether to perform a first operation or a secondoperation.

In some embodiments, a portion of a gesture is identified for purposesof determining a characteristic intensity. For example, atouch-sensitive surface may receive a continuous swipe contacttransitioning from a start location and reaching an end location (e.g.,a drag gesture), at which point the intensity of the contact increases.In this example, the characteristic intensity of the contact at the endlocation may be based on only a portion of the continuous swipe contact,and not the entire swipe contact (e.g., only the portion of the swipecontact at the end location). In some embodiments, a smoothing algorithmmay be applied to the intensities of the swipe contact prior todetermining the characteristic intensity of the contact. For example,the smoothing algorithm optionally includes one or more of: anunweighted sliding-average smoothing algorithm, a triangular smoothingalgorithm, a median filter smoothing algorithm, and/or an exponentialsmoothing algorithm. In some circumstances, these smoothing algorithmseliminate narrow spikes or dips in the intensities of the swipe contactfor purposes of determining a characteristic intensity.

The user interface figures described herein optionally include variousintensity diagrams that show the current intensity of the contact on thetouch-sensitive surface relative to one or more intensity thresholds(e.g., a contact detection intensity threshold IT₀, a light pressintensity threshold IT_(L), a deep press intensity threshold IT_(D)(e.g., that is at least initially higher than I_(L)), and/or one or moreother intensity thresholds (e.g., an intensity threshold hi that islower than I_(L))). This intensity diagram is typically not part of thedisplayed user interface, but is provided to aid in the interpretationof the figures. In some embodiments, the light press intensity thresholdcorresponds to an intensity at which the device will perform operationstypically associated with clicking a button of a physical mouse or atrackpad. In some embodiments, the deep press intensity thresholdcorresponds to an intensity at which the device will perform operationsthat are different from operations typically associated with clicking abutton of a physical mouse or a trackpad. In some embodiments, when acontact is detected with a characteristic intensity below the lightpress intensity threshold (e.g., and above a nominal contact-detectionintensity threshold IT₀ below which the contact is no longer detected),the device will move a focus selector in accordance with movement of thecontact on the touch-sensitive surface without performing an operationassociated with the light press intensity threshold or the deep pressintensity threshold. Generally, unless otherwise stated, these intensitythresholds are consistent between different sets of user interfacefigures.

In some embodiments, the response of the device to inputs detected bythe device depends on criteria based on the contact intensity during theinput. For example, for some “light press” inputs, the intensity of acontact exceeding a first intensity threshold during the input triggersa first response. In some embodiments, the response of the device toinputs detected by the device depends on criteria that include both thecontact intensity during the input and time-based criteria. For example,for some “deep press” inputs, the intensity of a contact exceeding asecond intensity threshold during the input, greater than the firstintensity threshold for a light press, triggers a second response onlyif a delay time has elapsed between meeting the first intensitythreshold and meeting the second intensity threshold. This delay time istypically less than 200 ms in duration (e.g., 40, 100, or 120 ms,depending on the magnitude of the second intensity threshold, with thedelay time increasing as the second intensity threshold increases). Thisdelay time helps to avoid accidental deep press inputs. As anotherexample, for some “deep press” inputs, there is a reduced-sensitivitytime period that occurs after the time at which the first intensitythreshold is met. During the reduced-sensitivity time period, the secondintensity threshold is increased. This temporary increase in the secondintensity threshold also helps to avoid accidental deep press inputs.For other deep press inputs, the response to detection of a deep pressinput does not depend on time-based criteria.

In some embodiments, one or more of the input intensity thresholdsand/or the corresponding outputs vary based on one or more factors, suchas user settings, contact motion, input timing, application running,rate at which the intensity is applied, number of concurrent inputs,user history, environmental factors (e.g., ambient noise), focusselector position, and the like. Exemplary factors are described in U.S.patent application Ser. Nos. 14/399,606 and 14/624,296, which areincorporated by reference herein in their entireties.

For example, FIG. 2C illustrates a dynamic intensity threshold 280 thatchanges over time based in part on the intensity of touch input 276 overtime. Dynamic intensity threshold 280 is a sum of two components, firstcomponent 274 that decays over time after a predefined delay time p1from when touch input 276 is initially detected, and second component278 that trails the intensity of touch input 276 over time. The initialhigh intensity threshold of first component 274 reduces accidentaltriggering of a “deep press” response, while still allowing an immediate“deep press” response if touch input 276 provides sufficient intensity.Second component 278 reduces unintentional triggering of a “deep press”response by gradual intensity fluctuations of in a touch input. In someembodiments, when touch input 276 satisfies dynamic intensity threshold280 (e.g., at point 281 in FIG. 2C), the “deep press” response istriggered.

FIG. 2D illustrates another dynamic intensity threshold 286 (e.g.,intensity threshold ID). FIG. 2D also illustrates two other intensitythresholds: a first intensity threshold hi and a second intensitythreshold I_(L). In FIG. 2D, although touch input 284 satisfies thefirst intensity threshold hi and the second intensity threshold I_(L)prior to time p2, no response is provided until delay time p2 haselapsed at time 282. Also in FIG. 2D, dynamic intensity threshold 286decays over time, with the decay starting at time 288 after a predefineddelay time p1 has elapsed from time 282 (when the response associatedwith the second intensity threshold I_(L) was triggered). This type ofdynamic intensity threshold reduces accidental triggering of a responseassociated with the dynamic intensity threshold ID immediately after, orconcurrently with, triggering a response associated with a lowerintensity threshold, such as the first intensity threshold hi or thesecond intensity threshold I_(L).

FIG. 2E illustrate yet another dynamic intensity threshold 292 (e.g.,intensity threshold ID). In FIG. 2E, a response associated with theintensity threshold I_(L) is triggered after the delay time p2 haselapsed from when touch input 290 is initially detected. Concurrently,dynamic intensity threshold 292 decays after the predefined delay timep1 has elapsed from when touch input 290 is initially detected. So adecrease in intensity of touch input 290 after triggering the responseassociated with the intensity threshold I_(L), followed by an increasein the intensity of touch input 290, without releasing touch input 290,can trigger a response associated with the intensity threshold ID (e.g.,at time 294) even when the intensity of touch input 290 is below anotherintensity threshold, for example, the intensity threshold I_(L).

An increase of characteristic intensity of the contact from an intensitybelow the light press intensity threshold IT_(L) to an intensity betweenthe light press intensity threshold IT_(L) and the deep press intensitythreshold IT_(D) is sometimes referred to as a “light press” input. Anincrease of characteristic intensity of the contact from an intensitybelow the deep press intensity threshold IT_(D) to an intensity abovethe deep press intensity threshold IT_(D) is sometimes referred to as a“deep press” input. An increase of characteristic intensity of thecontact from an intensity below the contact-detection intensitythreshold IT₀ to an intensity between the contact-detection intensitythreshold IT₀ and the light press intensity threshold IT_(L) issometimes referred to as detecting the contact on the touch-surface. Adecrease of characteristic intensity of the contact from an intensityabove the contact-detection intensity threshold IT₀ to an intensitybelow the contact-detection intensity threshold IT₀ is sometimesreferred to as detecting liftoff of the contact from the touch-surface.In some embodiments IT₀ is zero. In some embodiments, IT₀ is greaterthan zero. In some illustrations a shaded circle or oval is used torepresent intensity of a contact on the touch-sensitive surface. In someillustrations, a circle or oval without shading is used represent arespective contact on the touch-sensitive surface without specifying theintensity of the respective contact.

In some embodiments, described herein, one or more operations areperformed in response to detecting a gesture that includes a respectivepress input or in response to detecting the respective press inputperformed with a respective contact (or a plurality of contacts), wherethe respective press input is detected based at least in part ondetecting an increase in intensity of the contact (or plurality ofcontacts) above a press-input intensity threshold. In some embodiments,the respective operation is performed in response to detecting theincrease in intensity of the respective contact above the press-inputintensity threshold (e.g., the respective operation is performed on a“down stroke” of the respective press input). In some embodiments, thepress input includes an increase in intensity of the respective contactabove the press-input intensity threshold and a subsequent decrease inintensity of the contact below the press-input intensity threshold, andthe respective operation is performed in response to detecting thesubsequent decrease in intensity of the respective contact below thepress-input threshold (e.g., the respective operation is performed on an“up stroke” of the respective press input).

In some embodiments, the device employs intensity hysteresis to avoidaccidental inputs sometimes termed “jitter,” where the device defines orselects a hysteresis intensity threshold with a predefined relationshipto the press-input intensity threshold (e.g., the hysteresis intensitythreshold is X intensity units lower than the press-input intensitythreshold or the hysteresis intensity threshold is 75%, 90%, or somereasonable proportion of the press-input intensity threshold). Thus, insome embodiments, the press input includes an increase in intensity ofthe respective contact above the press-input intensity threshold and asubsequent decrease in intensity of the contact below the hysteresisintensity threshold that corresponds to the press-input intensitythreshold, and the respective operation is performed in response todetecting the subsequent decrease in intensity of the respective contactbelow the hysteresis intensity threshold (e.g., the respective operationis performed on an “up stroke” of the respective press input).Similarly, in some embodiments, the press input is detected only whenthe device detects an increase in intensity of the contact from anintensity at or below the hysteresis intensity threshold to an intensityat or above the press-input intensity threshold and, optionally, asubsequent decrease in intensity of the contact to an intensity at orbelow the hysteresis intensity, and the respective operation isperformed in response to detecting the press input (e.g., the increasein intensity of the contact or the decrease in intensity of the contact,depending on the circumstances).

For ease of explanation, the description of operations performed inresponse to a press input associated with a press-input intensitythreshold or in response to a gesture including the press input are,optionally, triggered in response to detecting: an increase in intensityof a contact above the press-input intensity threshold, an increase inintensity of a contact from an intensity below the hysteresis intensitythreshold to an intensity above the press-input intensity threshold, adecrease in intensity of the contact below the press-input intensitythreshold, or a decrease in intensity of the contact below thehysteresis intensity threshold corresponding to the press-inputintensity threshold. Additionally, in examples where an operation isdescribed as being performed in response to detecting a decrease inintensity of a contact below the press-input intensity threshold, theoperation is, optionally, performed in response to detecting a decreasein intensity of the contact below a hysteresis intensity thresholdcorresponding to, and lower than, the press-input intensity threshold.As described above, in some embodiments, the triggering of theseresponses also depends on time-based criteria being met (e.g., a delaytime has elapsed between a first intensity threshold being met and asecond intensity threshold being met).

FIG. 3 is a schematic of a user interface for a menu of applications onportable multifunction device 100, in accordance with some embodiments.Similar user interfaces may be implemented on a desktop device 300 inaccordance with some embodiments. In some embodiments, user interface300 includes the following elements, or a subset or superset thereof:

-   -   Signal strength indicator(s) 302 for wireless communication(s),        such as cellular and Wi-Fi signals;    -   Time 304;    -   Bluetooth indicator 305;    -   Battery status indicator 306;    -   Tray 308 with icons for frequently used applications, such as:        -   Phone 138, which may include an indicator 314 of the number            of missed calls or voicemail messages;        -   E-mail client 140, which may include an indicator 310 of the            number of unread e-mails;        -   Browser 147; and        -   Video and music player 145, also referred to as iPod            (trademark of Apple Inc.) module 152; and    -   Icons for other applications, such as:        -   IM 141;        -   Calendar 148;        -   Image management 144;        -   Camera 143;        -   Online video module 145, also referred to as YouTube            (trademark of Google Inc.) module 145;        -   Stocks 149-2;        -   Map 146;        -   Weather 149-1;        -   Dictionary 149-3;        -   User-Created Widget 149-6;        -   Notes 146;        -   Settings 312, which provides access to settings for device            100 and its various applications 136;        -   Word processor 153-1;        -   Drawing 153-2;        -   Spreadsheet 153-3; and        -   Presentation 153-4.

User Interfaces and Associated Processes

Attention is now directed towards embodiments of processes andassociated user interfaces (“UI”) that may be implemented on anelectronic device with a display, a touch-sensitive surface, andoptionally one or more sensors to detect intensities of contacts withthe touch-sensitive surface, such as the portable multifunction device100.

FIG. 4A is a flow chart illustrating a method 400 of cursormanipulation, in accordance with some embodiments. The method 400 isperformed at a portable multifunction device (e.g., the device 100 inFIG. 1A) with a touch screen display (e.g., the touch screen display 112in FIG. 1A). As described below, the method 400 provides an expedientmechanism for selecting content at a portable multifunction device witha touch screen display. This method is both faster and easier to performthan using a peripheral device, like a mouse. The method is alsointuitive to a user, thereby reducing the number, extent, and/or natureof the inputs from the user when selecting content, and creating a moreefficient human-machine interface. A more efficient input mechanism alsorequires less computing resources, thereby increasing battery life ofthe device.

In some embodiments, the device 100 displays content of an electronicdocument on the touch screen display 112. In some embodiments, thecontent comprises text (e.g., plain text, unstructured text, formattedtext, or text in a web page). In other embodiments, the contentcomprises graphics with or without text. Moreover, the content may beeditable or read-only. In addition to displaying the content, when nocontent is selected, the device 100 may display a cursor within theelectronic document, e.g., for text entry. In some embodiments, whiledisplaying the content of the electronic document, the device 100detects two substantially simultaneous touch inputs at 402. These twosubstantially simultaneous touch inputs can occur and be detectedanywhere on the screen, including over an active virtual keyboard beingdisplayed on the screen.

In some embodiments, the device 100 continuously monitors touch inputsand continuous movements of the touch inputs on the touch screen 112.Once touch inputs are detected by the device 100, the device 100determines whether the two substantially simultaneous touch inputs arelocated on a soft keyboard on the touch screen at 406. In response todetecting the two substantially simultaneous touch inputs that startedon the soft keyboard (406—Yes), the device 100 displays a soft keyboardthat has a changed appearance at 404. In some embodiments, the devicecontinuously monitors the touch inputs at step 406 so that theappearance of the keyboard remains changed when the two substantiallysimultaneous touch inputs that started on the soft keyboard are followedby a continuous movement of the two substantially simultaneous touchinputs without breaking contact with the touch screen 112. In otherwords, the device at step 406 detects whether there were twosubstantially simultaneous inputs on the soft keyboard either with orwithout a subsequent continuous movement off the keyboard. In someembodiments, in response to detecting the two substantially simultaneoustouch inputs where not initially detected on the soft keyboard (406—No),the device 100 displays a soft keyboard with an unchanged appearance at408, e.g., displays a regular unblurred soft keyboard or a keyboard withall alphanumeric characters displayed. A soft keyboard is a set ofmultiple virtual keys displayed on the screen, e.g., a QWERTY keyboard,as shown in FIG. 13A.

In FIG. 13A, the exemplary soft keyboard 1321 has multiple virtual keysand each key has a respective alphanumeric character. In addition, insome embodiments, each key has simulated three-dimensionalcharacteristics (e.g., a three-dimensional shape, drop shadow, etc.) Insome embodiments, in response to detecting two substantiallysimultaneous touch inputs at a first location on the soft keyboard, thedevice 100 displays a soft keyboard with a changed appearance as shownin FIG. 13B. In comparison with the soft keyboard with the unchangedappearance shown in FIG. 13A, the soft keyboard 1321 with the changedappearance shown in FIG. 13B does not have the simulatedthree-dimensional characteristics (e.g., the drop shadow is removed) andthe alphanumeric characters on the keys are removed. In addition, insome embodiments, the color, hue, saturation, brightness, and/orcontrast of the soft keyboard 1321 is also changed (e.g.,semitransparent) to indicate that the application has entered a modethat is different from a text entering mode. In the non-text enteringmode, the soft keyboard is not responsive to keystrokes for textentries, but rather serves as an onscreen touchpad or track pad formoving the cursor or for selecting content. The changed keyboardappearance provides an intuitive indication that the function of thesoft keyboard has changed.

As shown in FIG. 13B, in some embodiments, the device 100 detects asliding gesture 1332 starting from the first location on the softkeyboard 1321 to a second location anywhere on the touch screen 112. Thesliding gesture 1332 follows the two substantially simultaneous touchinputs without breaking contact with the touch screen 112, e.g., itstarts on the soft keyboard and moves beyond the soft keyboard 1321 intothe content region 1302. In response to detecting the sliding gesture,the device 100 maintains the changed appearance of the soft keyboard1320 throughout the entire sliding gesture. At the end of the slidinggesture, as shown in FIG. 13C, in response to a lift-off gesture, thedevice 100 displays the soft keyboard with its original unchangedappearance, e.g., with the alphanumeric characters on the virtual keysand the three-dimensional characteristics of the virtual keys and/or anunblurred the virtual keyboard.

FIGS. 7A-7C illustrate exemplary user interfaces of soft keyboardappearance changes, in accordance with some embodiments. In FIG. 7A,content of an electronic document is displayed on the touch screendisplay 112. Also displayed on the touch screen display 112 is a softkeyboard 521 that is displayed in focus. Subsequently, the device 100detects two substantially simultaneous touch inputs (e.g., two-fingertap) 524 on the soft keyboard 521. In response to detecting the twosubstantially simultaneous touch inputs on the soft keyboard 521, thedevice 100 displays a blurred soft keyboard 521, as shown in FIG. 7B.

In some embodiments, instead of displaying the blurred soft keyboard,the device changes one or more of: color, hue, saturation, brightness,and contrast of the soft keyboard 521 based on the content of theelectronic document. In some embodiments, the appearance of the blurredkeyboard 521 is based on the content displayed and a set ofcontrol-appearance values for blur radius, saturation adjustment,opacity of a white overlay, opacity of a black overlay, opacity of userinterface elements in keyboard 521, and/or the color of text displayedin the region where the keyboard 521 is displayed. For example, in FIG.7B, the region where keyboard 521 is located has been blurred inaccordance with a value for the blur radius, the black text color of thecontent 500, etc.

As shown in FIG. 7B, once the device 100 detects a continuous movementwithout breaking contact with the touch screen display following the twosubstantially simultaneous touch input from location 524-1 on thekeyboard 521, leaving the keyboard 521, and moving to location 524-2 onthe content 500 and not over the keyboard. In response, the device 100replaces the display of the blurred soft keyboard with display offocused soft keyboard 521, as shown in FIG. 7C. Subsequently, as shownin FIG. 7C, as long as the touch inputs 524 are not located on thekeyboard 521, the keyboard stays in focus.

Referring back to FIG. 4A, following the detection of two substantiallysimultaneous touch inputs, the portable multifunction device 100determines whether prior to detecting the touch inputs, there is anexisting selection of the content at 411. By a selection it is meantthat certain text, graphics, or other objects are selected (e.g., shownas highlighted text). If the device 100 does not detect an existingselection, the device 100 then determines the type of touch input at413. The portable multifunction device 100 can identify at least fourtypes of the touch inputs, namely, drag, tap, hold-and-drag, and flick,among others. In some embodiments, a drag input is a sliding gesturealong the surface of the touch screen. In some embodiments, a tap is atouch contact followed by a lift-off or release of contact from thesurface of the touch screen, without any intervening sliding gesturedetected between the touch and the lift-off. In some embodiments, ahold-and-drag is an initial touch contact, followed by a predeterminedperiod of time greater than zero (the hold period) (e.g., 1.5 seconds),and then followed by a sliding gesture on the surface of the touchscreen away from the initial point of contact, without any interveninglift-off or release of contact from the surface of the touch screen. Insome embodiments, a flick is a rapid sliding gesture in a singledirection along the surface of the touch screen followed by a lift-offor release of contact from the surface of the touch screen.

Depending on the type of the touch input received, the device 100performs different actions. As shown in FIG. 4A, if a drag is detectedimmediately after the two touch inputs are detected at 402 (e.g., withno intervening lift-off), then the device 100 moves the cursor, at 421.In some embodiments, prior to dragging the cursor, the cursor isanimated (e.g., enlarged) to clearly indicate the beginning of a cursormovement. In some embodiments, a ghost cursor is displayed while thecursor is being moved or instead of the actual cursor being moved. Forexample, a ghost cursor can be a cursor with a different appearance,such as a lighter colored cursor, that is offset from the cursor butlinked to it, so that when the cursor moves around the screen, so doesthe ghost cursor. Alternatively, the ghost cursor is a lighter coloredcursor, while the cursor is moved around the screen by the user, theghost cursor shows the closest right position for the cursor, until alift off event occurs, whereafter the real cursor replaces the ghostcursor at the position of the ghost cursor when the lift off eventoccurred. If a tap is detected (e.g., if after the two touch inputs aredetected at 402, a lift-off is detected without any intervening swipegesture), then a portion of the document, such as a word, image, orother object closest to the cursor is selected, at 442. If a hold anddrag is detected (e.g., the touch inputs remain in contact with thescreen without moving for a predetermined period of time before the draggesture occurs), then the device 100 starts selecting text and/orgraphics while the selection is extended in the direction of the draggesture, at 452. If a flick is detected, then the device 100 moves thecursor to a distal point of the text of the document, at 430. Forexample, the distal point in the text is the end or beginning of a lineor a top or bottom of a page or document. Examples are described infurther detail below with respect to each type of touch input.

For example, if the type of touch input is a drag and the touch input isnot located on a selection, then the device 100 moves the cursor anddisplays a ghost cursor at 421. FIG. 5A illustrates an exemplary userinterface for dragging cursor when there is no existing selection ofcontent, in accordance with some embodiments. In this embodiment, theelectronic document 500 is displayed in the user interface of anapplication (e.g., a word processing application 152, a presentationapplication 153, a spreadsheet application 155, or the like). Theapplication user interface in which document 500 is displayed mayinclude toolbar 510 and button(s) 512 for navigating to, if any, otherdocuments. Electronic document 500 includes content, such as text,images, objects, tables, charts, and so on. In addition to displayingthe content of the electronic document, the device 100 further displaysa cursor 522-1 within the electronic document. In some embodiments, thecursor 522-1 is the same as an insertion point. In some embodiments, theinsertion point marker is identified by an insertion point marker 522-1.

While document 500 is displayed in a document editing mode, keyboard 521is also displayed. A user may enter text into document 500 by typing onkeyboard 521, and confirm completion of editing of document 500 byperforming a touch input (e.g., a tap on “done” button 512) to exit anediting mode.

In some embodiments, the device 100 detects two substantiallysimultaneous touch inputs at a first region 524-1, 524-2 on the touchscreen display 112. The device 100 can further determine that the twosubstantially simultaneous touch inputs remain in contact with the touchscreen display 112, and detect a continuous touch gesture or draggesture from a location of the two substantially simultaneous touchinputs across the touch screen display from the first region 524-1,524-2 to a second region 524-3, 524-3. In response to detecting thecontinuous touch gesture, the device 100 moves the cursor or insertionpoint marker 522-1 across document 500 from the current location 522-1in FIG. 5A to a new location 522-2 in FIG. 5B along a path 533 of thecontinuous gesture.

FIG. 5B illustrates an exemplary user interface brought about by thedrag gesture of FIG. 5A, in accordance with some embodiments. In someembodiments, as soon as the device 100 determines that there is a draggesture (421 of FIG. 4A), it displays a ghost cursor 522-2 offset fromthe real cursor 522-1. In this embodiment, when the user drags theirtwo-fingers around the screen, both the cursor 522-1 and the ghostcursor 522-2 move together, e.g., the ghost cursor is linked to theactual cursor. The position of this ghost cursor is the position in thedocument where the actual cursor will be placed when the user liftstheir fingers from the screen (e.g., a lift-off event of thetwo-fingers), e.g., while dragging, the ghost cursor 522-2 moves in thedirection of the two-finger drag gesture, and indicates the positionwhere the cursor 522-1 will be dropped or displayed when the user liftsthe two fingers. In some embodiments, the ghost cursor 522-2 has adifferent appearance to the cursor 522-1. For example, the ghost cursor522-2 can have a different color, size, and/or shape to the cursor522-1. The ghost cursor 522-2 can also be animated to get the user'sattention. For example, the animation of the cursor 522-1 can includeshrinking, enlarging, rotating, blinking, and/or flipping, or the like.

In another embodiment, instead of moving the cursor while draggingtwo-fingers (e.g., a two-finger slide gesture), the ghost cursor 522-2moves but not the actual cursor. In some embodiments, a distance betweenthe first region 524-1, 524-2 and the second region 524-3, 524-4 of thetouch inputs in FIG. 5A is substantially the same as a distance betweenthe original location of the cursor shown in FIG. 5A and a new locationof the cursor shown in FIG. 5B. On release of the two-finger drag, thedevice 100 places the cursor 522-1 at the location of the ghost cursor522-2. As a result, upon detecting the termination of the continuoustouch gesture, the device 100 ceases display of the ghost cursor 522-2,and the insertion marker 522-3 replaces the ghost cursor 522-2, as shownin FIG. 5C.

The above examples as shown in FIGS. 5A-5C illustrate cursormanipulation in response to detecting a drag gesture when there is noexisting selection of content. Referring back to FIG. 4A, if there isexisting selection of content in the document (411—Yes) (e.g., a word isselected), then the device 100 determines if the touch inputs arelocated on the selection at 415. If the device 100 determines that thetouch inputs are located on the selection (415—Yes), the device thendetermines the type of touch input at 417. If the touch input is a draggesture, then the device 100 dismisses the selection and moves thecursor in a direction of the drag at 433. FIGS. 5D-5E illustrateexemplary user interfaces implementing step 433 in response to a draggesture.

For example, as shown in FIG. 5D, the device 100 detects a selection ofa portion of the content 500 and displays the selection 528. Forexample, the selection of “ought” from the word “brought” is highlightedas selected. In some embodiments, the device 100 displays markers, suchas a start-point object 526 and an end-point object 530 at respectiveends of “ought” to indicate the selection 528. The device 100 can detecttwo substantially simultaneous touch inputs at a first region 524-1 onthe touch screen display followed by a continuous touch movement or draggesture of the two substantially simultaneous touch inputs across thetouch screen display from the first region 524-1 to a second region524-2. The first region 524-1 is at least partially over the selection528. In response to detecting the continuous touch movement or draggesture, the device 100 dismisses the selection 528 and moves the cursor522 to a new location as shown in FIG. 5E. In some embodiments, the newlocation is at a proximate location of the termination of the two-fingerdrag.

In some embodiments, in addition to the selection indicators 526-530,the device 100 displays a command display area adjacent to the selectedcontent 528 as shown in FIG. 5AR and described in greater detail below.The command display area includes affordances such as an affordance forcutting the selected content 528 and an affordance for copying theselected content 528 (e.g., “Cut” icon 542 and “Copy” icon 544 in FIG.5AR). In some embodiments, the command display area is displayed everytime text is selected. In some embodiments, when the text is selected bytwo substantially simultaneous touch inputs, the command display area isnot displayed until the device 100 detects a tap on the selected text.

Referring back to FIG. 4A, in some embodiments, if the device 100determines that the touch inputs are not on the selection (415—No)(e.g., outside the selection), and then determines at 419 that the touchinputs are a drag gesture, then the device 100 expands the selection inaccordance with the dragging gesture at 434.

For example, prior to detecting touch inputs, the device 100 detects anexisting selection of a portion of the content and displays theselection. The selection is highlighted, and the device 100 displaysmarkers, such as a start-point object and an end-point object atrespective ends of the selection. After displaying a soft keyboard thathas a changed appearance in response to detecting two substantiallysimultaneous touch inputs on the soft keyboard, the device 100 detects acontinuous movement of the two substantially simultaneous touch inputsfrom a first location on the soft keyboard to a second location anywhereon the touch screen display (e.g., within the boundaries of the softkeyboard or beyond the soft keyboard and onto the content region)without breaking contact with the touch screen display. In response todetecting the continuous movement that started on the soft keyboardoutside the selected content, the device expands the selected content toinclude additional content beyond the portion in a direction towards thesecond location in response to detecting the continuous movement.

In some embodiments, when expanding the selected content, the selectioncan expand either backward or forward. The initial direction of the draggesture determines the direction of the expansion. For example, a rightand/or down continuous movement moves the end-point object right and/ordown without moving the start-point object in order to expand theselection forward; while a left and/or up drag gesture moves thestart-point object 530 left and/or up without moving the end-pointobject in order to expand the selection backward. In some embodiments,the selection expands one word at a time if the continuous movement isfast, and expands one character at a time if the continuous movement isslow.

In some embodiments, in accordance with a determination that the touchinputs are not on the selection (415—No) (e.g., outside the selection)and determines at 419 that the touch inputs are a drag gesture, thedevice 100 dismisses the selection and moves the cursor in a directionof the drag gesture.

FIGS. 5A-5E above illustrate cursor manipulation in response todetecting a drag gesture. In addition to drag, the device 100 can detectthe touch inputs as a flick and perform corresponding actions. As usedherein, a flick gesture is the same type of motion as a swipe gesture inthat both slides the finger(s) across the touch screen display in onedirection. However, different from swipe, a flick gesture is a fastermovement across the touch screen display. In some embodiments, thedevice 100 detects a flick gesture, e.g., a swipe gesture that isperformed at a speed higher than a predetermined speed, or anacceleration beyond a predetermined velocity. Referring back to FIG. 4A,after determining that there is no selection (411—No), and that thetouch input is a flick gesture, the device 100 moves the cursor to adistal point of line at 430. If the flick was up or down, the cursorwould be moved to the top or bottom of a page or document, respectively.FIGS. 5F-5G illustrate exemplary user interfaces of moving the cursor toa distal point in the text.

For example, in FIG. 5F, electronic document 500 includes content, suchas text, images, objects, tables, charts, and so on is displayed on thetouch screen display 112. In addition to displaying the content of theelectronic document, without detecting any existing selection, thedevice 100 further displays a cursor 522 within the electronic document.In some embodiments, the cursor 522 is the same as an insertion point.The insertion point marker is identified by an insertion point marker522 placed between the letter “c” and “e” in the word “conceived”. Thedevice 100 detects a two-finger flick gesture on the touch screendisplay in a direction 524 towards an edge of the touch screen displayas shown, such as a left two-finger flick towards the left edge of thetouch screen display 112. In response to detecting the two-finger leftflick gesture, the device 100 moves the cursor 522 to a distal point ofthe text, as shown in FIG. 5G where the cursor 522 has been moved to thebeginning of the line containing the word “conceived.” If the flick wasup or down, the cursor would be moved to the top or bottom of a page ordocument, respectively. In some embodiments, the two-finger flickgesture detected on the touch screen display 112 is in a direction alongthe line within the text where the cursor 522 is displayed, and thedistal location of the line is at a location in the direction of thetwo-finger flick. In those embodiments where the flick is vertical,e.g., perpendicular to the line of text, either up or down, the cursorwould be moved to the top or bottom of a page or document, respectively.

The above examples as shown in FIG. 5F-5G illustrate cursor manipulationin response to detecting a flick gesture when there is no existingselection of content. Referring back to FIG. 4A, on the other hand, ifthere is existing selection of content detected by the device 100(411—Yes), then the device 100 determines if the touch inputs arelocated on the selection at 415. If the device 100 determines that thetouch inputs are located on the selection (415—Yes), and the devicedetermines at 417 that the touch input is a flick gesture, then thedevice 100 dismisses the selection and moves the cursor to the distalpoint (e.g., beginning or end) of the text (e.g., line, page ordocument) at 444.

Similarly, if the device 100 determines at 415 that the touch inputs arenot on the selection (415—No) (e.g., outside the selection), anddetermines at 419 that the touch input is a flick gesture (also known asa “swipe” gesture), then the selection is again dismissed and the cursoris moved to the distal point of the text at 445. FIGS. 5H-5I illustrateexemplary user interfaces implementing step 445 in response to flick.

For example, as shown in FIG. 5H, the device 100 detects an existingselection of a portion of the content 500 and displays the selection528. The selection of “ought” is highlighted, and the device 100displays markers, such as a start-point object 526 and an end-pointobject 530 at respective ends of “ought” to indicate the selection 528.The device 100 detects a two-finger flick gesture on the touch screendisplay in a direction 524 towards an edge of the touch screen display.In response to detecting a two-finger left flick gesture, the device 100dismisses the selection 528 before moving the cursor 522 to a distalpoint of the text, such as to the beginning of the line where the cursor522 was initially located, as shown in FIG. 5I.

Though FIGS. 5F-5I illustrate cursor manipulation in response to a leftflick or swipe, similarly, a right flick or swipe towards right edge ofthe touch screen display 112, an up flick or swipe towards top edge ofthe touch screen display 112, and a down flick or swipe towards bottomedge of the touch screen display 112 can be detected by the device 100.In response to the right, up, and down flick or swipe, the device 100moves the cursor to the end of line, beginning of page, and end of page,respectively.

Referring back to FIG. 4A, in addition to determining the type of touchinputs as drag and flick, the device 100 can detect the type of touchinputs as tap and perform corresponding actions. After determining thetype of the touch inputs is tap and the touch inputs that are notlocated on a selection, the device 100 selects the closest word to thecursor at 442. FIGS. 5J-5P illustrate exemplary user interfaces ofselecting the closest word to the cursor in step 442.

For example, in FIG. 5J, electronic document 500 is displayed in theuser interface of an application (e.g., a word processing application152, a presentation application 153, a spreadsheet application 155,etc.). The application user interface in which document 500 is displayedmay include toolbar 510 and button 512 for navigating to, if any, otherdocuments. Electronic document 500 includes content, such as text,images, objects, tables, charts, and so on. In addition to displayingthe content of the electronic document, the device 100 further displaysa cursor 522 within the electronic document. In some embodiments, thecursor 522 is the same as an insertion point. The cursor 522 indicatesthe insertion point in the electronic document 500 as on a word “score”,between the character “s” and “c” of the word “score”.

Subsequently, while displaying the content of the document 500, and whenthere is no existing selection (411—No of FIG. 4A), the device 100detects two substantially simultaneous touch inputs 524 that are notlocated on a selection (442 of FIG. 4A). Turning to FIG. 5K, in responseto detecting the touch inputs, the device 100 determines the touchinputs are not located on a selection, and selects the word “score”,since it is the closest to the cursor 522. The selection of the word“score” is displayed and highlighted, and the device 100 displaysmarkers, such as a start-point object 526 and an end-point object 530 atrespective ends of “score” to indicate the selection 528.

In some embodiments, a word is selected if the cursor 522 is within theword (e.g., the word “score” in FIGS. 5J-5K), adjacent to the firstletter of the word (e.g., the word “Four” in FIGS. 5L-5M), or adjacentto the last letter of the word (e.g., the word “forth” in FIGS. 5N-50).In some embodiments, the closest word and any punctuation and/or spacesare selected if the cursor 522 is currently located after a sentence andnot within a word or adjacent to the first or last letter of a word(e.g., “equal.” in FIGS. 5P-5Q).

It should be noted that in FIGS. 5J-5P, the two substantiallysimultaneous touch inputs 524 can be located anywhere on the touchscreen display, not just where the cursor is located. Conventionalportable multifunction devices often require users to precisely contacttheir fingers on a touch sensitive screen at the location where thecursor is located in order to manipulate the cursor. Such a requirementis cumbersome. The methods described herein allow a user manipulate acursor and perform editing functions, such as text selection and movingselection, from any part of the touch-sensitive surface 112, not justwhere the cursor is located. For example, the two substantiallysimultaneous touch inputs 524 can be located after a first paragraph butbefore a second paragraph (e.g., FIG. 5J), on a different word notadjacent to the cursor 522 (e.g., FIG. 5L), on the touch screen keyboard(e.g., FIG. 5N), or on the word that the cursor is located within (e.g.,FIG. 5P), among others. These methods reduce the number of steps that auser has to perform to navigate and edit a document, thereby increasingefficiency and ease of use when performing these tasks.

The above examples as shown in FIG. 5J-5P illustrate cursor manipulationin response to detecting tap when there is no existing selection ofcontent. Referring back to FIG. 4A, on the other hand, if there is anexisting selection of content detected by the device 100, then thedevice 100 determines if the touch inputs are located on the selectionat 415. If the device 100 determines that the touch inputs are locatedon the selection (415—Yes), and determines at 417 that the touch inputsare a tap, then the device 100 expands the selection at 440. Forexample, if a word is selected, and a tap 440 is detected, then thesentence containing the previously selected word is selected. In thisway a selection can be expanded from a word to a sentence to a paragraphto a page to a document. In some embodiments, instead of expanding theselection, a single two-finger tap on a selected word deselects the wordand returns to an initial cursor placement display (e.g., ceasingdisplay of the selection indication 528 and displaying a cursor on thetouch screen display). In some embodiments, the placement of the cursordepends on the location of the single two-finger tap.

On the other hand, if the device 100 determines at 415 that the touchinputs are not on the selection (415—No) (e.g., outside the selection)and determines at 419 that the touch inputs are a tap, then the device100 determines whether the selected content is one word at 466. Inaccordance with a determination that the selected content is one word(466—Yes), the device 100 expands the selected content to include asentence containing the word at 467. On the other hand, in accordancewith a determination that the selected content is more than a word, thedevice 100 displays a cursor at the beginning or end of the selectionand dismisses the selection at 468. In some embodiments, in accordancewith a determination that the tap is not on the selection, the device100 dismisses the selection and selects the closest word to the contactpoint of the tap.

In other embodiments, after selecting the closest word to the cursor,the device 100 can further detect a two-finger double-tap (e.g., tappingtwice with two fingers), a two-finger triple-tap (e.g., tapping threetimes with two fingers), or a two-finger quadruple-tap (e.g., tappingfour times with two fingers). In response to detecting a two-fingerdouble-tap, two-finger triple-tap, or two-finger quadruple-tap, thedevice 100 expands the selection to a sentence or a line at 460, to aparagraph at 462, or to the document at 464, respectively. In someembodiments, the selection expansion operation is only operable toparagraph level. For example, in response to a two-finger quadruple-tap,the device 100 keeps the paragraph selected without further expandingthe selection to the entire document at 464. In some embodiments, device100 determines if there is a multi-tap and expands the selection if theduration between each subsequent tap is less than a predeterminedthreshold (e.g., 0.66 seconds).

In some embodiments, if the device 100 determines two substantiallysimultaneous touch inputs that are located outside an existing selection(415—No) (e.g., on a soft keyboard) and the type of touch inputs is atap (down), followed by a lift-off (up), followed by another tap (down),and without lift-off, a drag (419—Tap-±half±drag), the device 100 atstep 465 first dismisses the selection, then performs actions similar tothose performed at step 471 in FIG. 4B described below, such asselecting a word closest to the touch input and expanding the selectionwhile dragging. In some embodiments, similar to the selection expansionbehavior described with respect to steps 452 and 434 above, the initialdirection of the drag gesture determines the direction of the expansionand the selection expands one word at a time if the drag gesture movesfast, and expands one character at a time if the drag gesture movesslow.

FIGS. 5R-5S illustrate exemplary user interfaces for implementing a tapthat is detected outside a selection and selecting the closest word to acontact point of the tap. FIGS. 5T-5Y illustrate exemplary userinterfaces implementing the steps 460-464 (FIG. 4A) of expanding theselection in response to a two-finger double-tap, a two-fingertriple-tap, and a two-finger quadruple-tap. FIGS. 5Z-5AD illustrateexemplary user interfaces for implementing step 440 of expanding theselection in response to tapping on a selection.

Turning to FIG. 5R, which illustrates an exemplary user interface ofselecting the closest word to a contact point of a two-finger tap inaccordance with some embodiments. In some embodiments, an existingselection 528 (e.g., the word “equal”) is detected by the device 100, acursor is not displayed on the touch screen display. In response todetecting the two substantially simultaneous touch inputs 524 locatedoutside the selection 528 (e.g., on the word “any” in FIG. 5S), thedevice 100 selects a word closest to the contact location of the twosubstantially simultaneous touch inputs 524 (e.g., selects the word“any” 528 in FIG. 5S).

FIGS. 5T-5Y illustrate the steps 442 and 460-464 (FIG. 4A) of cursormanipulation in response to two-finger single tap, two-fingerdouble-tap, two-finger triple-tap, and two-finger quadruple-tap, inaccordance with an alternative embodiment. When there is no existingselection (411—No) (FIG. 4A), in response to detecting a two-finger tap524 (FIG. 5T), and when the cursor 522 is located closest to the word“and,” the device 100 selects (442—FIG. 4A) the word “and” and displaysmarkers, such as a start-point object 526 and an end-point object 530 atrespective ends of “and” to indicate the selection 528, as shown in FIG.5U.

In some embodiments, upon determining that there is an existingselection 528 (411—Yes, FIG. 4A), e.g., following the two-finger tap asshown in FIG. 5U, the device 100 detects a two-finger double-tap at acontact point not on the selection (415—No, 419, and 460 of FIG. 4A). Insome embodiments, the two-finger double-taps need to be at or near thesame contact point on the touch screen display and made within a shortpredetermined time of one another, e.g., 0.5 seconds. In response todetecting the two-finger double-tap (460 of FIG. 4A), the device 100selects a first predetermined expanded portion of the content (e.g., aline or a sentence) that includes at least a portion of the previouslyselected content 528. For example, the single line of text (“any nationso conceived and so”) containing the word “and” is selected with astart-point object 526 and an end-point object 530 at respective ends ofthe single line of text selection 528, as shown in FIG. 5V, or thesentence (“Now we are engaged in a great civil war, testing whether thatnation, or any nation so conceived and so dedicated, can long endure”)containing the word “and” is selected with a start-point object 526 andan end-point object 530 at respective ends of the sentence selection528, as shown in FIG. 5W.

In some embodiments, upon determining that there is an existingselection (411—Yes, FIG. 4A), e.g., following the two-finger double-tapto select a line or a sentence shown in FIG. 5V or 5W, the device 100detects a two-finger triple-tap at a contact point not on the selection(415—No, 419, and 462 of FIG. 4A). In some embodiments, the two-fingertriple-taps need to be at or near the same contact point on the touchscreen display and made within a short predetermined time of oneanother, e.g., 0.5 seconds. In response to detecting the two-fingertriple-tap (462 of FIG. 4A), the device 100 selects a secondpredetermined expanded portion of the content (e.g., a paragraph) thatincludes at least a portion of the previously selected content 528, asshown in FIG. 5X. As further shown in FIG. 5X, to indicate the paragraphselection 528, the device 100 displays the second expanded portion ofthe content as selected content and displays markers, such as astart-point object 526 and possibly an end-point object (not shown inFIG. 5X) at respective ends of the paragraph selection 528.

In some embodiments, upon determining that there is an existingselection (411—Yes, FIG. 4A), e.g., following the two-finger triple-tapto select a paragraph shown in FIG. 5X, the device 100 detects atwo-finger quadruple-tap at a contact point not on the selection(415—No, 419, and 464 of FIG. 4A). In some embodiments, the two-fingerquadruple-taps need to be at or near the same contact point on the touchscreen display and made within a short predetermined time of oneanother, e.g., 0.5 seconds. In response to detecting the two-fingerquadruple-tap (464 of FIG. 4A), the device 100 selects a thirdpredetermined expanded portion of the content (e.g., a page or document)that includes at least a portion of the previously selected content 528,as shown in FIG. 5Y.

It should be noted that expansion of the selection illustrated in FIGS.5T-5Y is performed in response to successive touch inputs. FIGS. 5T-5Yillustrate exemplary user interfaces corresponding to the steps 460-464in FIG. 4A after the device determines that the touch inputs are locatedoutside a selection or not on or over a selection. In some embodiments,the duration between each successive touch input in a multi-tap input isless than a predetermined amount, such as less than 0.25 seconds. Forexample, a two-finger quadruple-tap is four two finger taps in rapidsuccession. In response to a two-finger double-tap, the selection isexpanded to a sentence or line; In response to a two-finger triple-tap,the selection is expanded to a paragraph; and in response to atwo-finger quadruple-tap, the selection is expanded to the page ordocument.

FIGS. 5Z-5AD are used to illustrate the step 440 (FIG. 4A) of expandingthe selection in response to tapping on a selection. After detecting twosubstantially simultaneous touch inputs at 402 (FIG. 4A), and detectingthat there is an existing selection (411—Yes) (FIG. 4A), and determiningthat the touch inputs were made on or over a selection (415—Yes), thedevice determines the type of touch inputs that were detected 417 (FIG.4A). When the device determines that the touch inputs are a tap over anexisting selection, then the existing selection is expanded at 440. Thisis shown in FIGS. 5Z-5AD. FIG. 5Z shows an existing selection 528 of theword “and” with displayed markers, such as a start-point object 526 andan end-point object (not shown) at respective ends of the word toindicate the selection 528. FIG. 5Z also shows the two substantiallysimultaneous touch inputs 524 detected as a tap for expanding theselection to the next largest size of selection, e.g., word to line,line to sentence, sentence to paragraph, paragraph to page, page todocument, or the like. For example, when the selected content is a word(or a plurality of words that are part of a single line or a sentence),the selected content can be expanded to a single line of text (as shownin FIG. 5AA) or a sentence (as shown in FIG. 5AB) containing the word“and.”

In a similar vein, in some embodiments, the device 100 determines thatthe location of the tap 524 is on a selection 528 of a single line oftext (FIG. 5AA) or a sentence (FIG. 5AB). In response to detecting thetap 440 (FIG. 4A), as shown in FIG. 5AC, the device 100 expands theselection 528 to a paragraph containing the single line of text or thesentence. In some embodiments, to indicate the paragraph selection 528,the device 100 displays markers, such as a start-point object 526 andpossibly an end-point object 530 (not shown in FIG. 5AC) at respectiveends of the paragraph selection 528. In some embodiments, the device 100can further determine the location of the tap 524 is on a selection 528of a paragraph (FIG. 5AC). In response, as shown in FIG. 5AD, the device100 expands the selection 528 to the electronic document. To indicatethe document selection 528, the device 100 displays markers, such as astart-point object 526 and possibly an end-point object 530 (not shownin FIG. 5AD) at respective ends of the document selection 528.

It should be noted that the selection expansion in response tosuccessive touch inputs illustrated in FIGS. 5T-5Y is different from theselection expansion illustrated in FIGS. 5Z-5AD. FIGS. 5Z-5AD illustrateexemplary user interfaces corresponding to the step 440 in FIG. 4A afterthe device 100 determines the touch inputs are located on a selection.In contrast, FIGS. 5T-5Y illustrate exemplary user interfacescorresponding to the steps 460-464 in FIG. 4A after the devicedetermines the touch inputs are located outside a selection or not on orover a selection. As stated with respect to FIGS. 5J-5P above, the twosubstantially simultaneous touch inputs 524 in FIG. 5T can be locatedanywhere on the touch screen display 112. In response to the firsttwo-finger tap, a word closest to the cursor is selected, as shown inFIG. 5U. Subsequently each additional two-finger tap on the touch screendisplay 112 is detected by the device 100. In some embodiments, theduration of each contact is less than a predetermined threshold suchthat the additional two substantially simultaneous touch inputs can bedetected as a two-finger double-tap, two-finger triple-tap, andtwo-finger quadruple-tap etc. In response to the double-tap, theselection is expanded to a sentence or line; in response to atriple-tap, the selection is expanded to a paragraph; and in response toa quadruple-tap, the selection is expanded to the page or document. Incontrast, the device 100 performs the selection expansion as shown inFIGS. 5Z-5AD in response to detecting independent touch inputs on aselection. Thus, the touch inputs illustrates in FIGS. 5Z-5AD aredetected by the device 100 as separate touch events, not as successivetouch events in a single sequence.

Referring back to FIG. 4A, in addition to determining the type of touchinputs as drag, flick, and tap, the device 100 can detect the type oftouch inputs as hold and drag. If the device 100 does not detect anexisting selection (411—No), in response to determining 413 the type oftouch inputs as hold and drag, the device 100 initiates selecting aportion of the document and extends the selection commensurate with thedragging gesture at 452. To determine if the inputs are a hold and draggesture as compared to simply a drag gesture, the device determines ifthe touch inputs remain in contact with the screen without moving for apredetermined period of time (e.g., >0.75 seconds or >1 second) beforethe drag gesture occurs. In some embodiments, the selection starts atthe point of contact and expands in the drag direction.

If the device 100 detects an existing selection (411—Yes), and furtherdetermines that the touch inputs are located on an existing selection(415—Yes), and then determines at 417 that the inputs are a hold anddrag, then the device 100 moves the selection at 451. In someembodiments, the selected text remains in place with only a cursormoving, and only once the user releases contact with the touch screensurface (e.g., a lift-off event) is the selected text moved to theposition of the cursor at the time of the lift-off or release. In otherembodiments, the selection is dragged around the document and placed atthe position of the selection (or a cursor) at the time of contactrelease or lift off. In yet another embodiment, a ghost copy of theselection is dragged around the document, while the original selectionremains in place, and only placed at the position of the selection (or acursor) at the time of contact release or lift off.

If the touch inputs are not located on an existing selection (e.g.,outside an existing selection) (415—No), the device 100 determines thetype of selection at 419, and if the type is a hold and drag 453,expands the existing selection in the direction of the drag gesture at453. Here, the expanded selection includes the original selection andany expanded portion of the document. FIGS. 5AE-5AG illustrate the step452 of expanding the selection while dragging. FIGS. 5AH-5AJ illustrateexemplary user interfaces implementing the step 451 of moving anexisting selection. FIGS. 5AK-5AL illustrate exemplary user interfacesimplementing the step 453 of starting a selection and extending theselection while dragging.

FIGS. 5AE-5AG illustrate the step 452 (FIG. 4A) of expanding theselection while dragging. In FIG. 5AE, the device 100 determines thatprior to detecting the two-finger touch inputs, there is no existingselection. In response to detecting the two-finger touch contacts 524,followed by a predetermined period of time, followed by a dragginggesture 532 (FIG. 5AF), the device 100 determines that the inputs are ahold and drag gesture and starts a selection at the cursor 522 andexpands it in a direction of the drag gesture 532. For example, thecursor is located between the letters “br” and “ought” and the dragginggesture is in the right direction so expansion of the selection is inthe right direction to select “ought” 528. If the dragging continues ina rightward and downward direction, where a release or lift-off eventoccurs at 531, the selection (“ought forth on this continent . . . in agreat”) 528 is shown in FIG. 5AG.

FIGS. 5AE-5AG illustrate expanding the selection 528 in accordance withthe dragging gesture 532. In some embodiments, the selection can expandeither backward or forward. The initial direction of the drag gesture532 determines the direction of the expansion. For example, a right(e.g., FIG. 5AF) and/or down drag gesture 532 moves the upside downlollipop shaped end-point object 530 right and/or down without movingthe lollipop shaped start-point object 526 in order to expand theselection 528 forward; while a left and/or up drag gesture moves thelollipop shaped start-point object 526 left and/or up without moving theupside down lollipop shaped end-point object 530 in order to expand theselection 528 backward. In some embodiments, the selection 528 expandsone word at a time if the drag is fast, and expands one character at atime if the drag is slow.

FIGS. 5AH-5AJ illustrate the step 451 (FIG. 4A) of moving an existingselection. Once the device detects two substantially simultaneous touchinputs at 402 (FIG. 4A), determines that there is an existing selection(411—Yes) (FIG. 4A), and determines that the inputs are on a selection(415—Yes) (FIG. 4A), then the device determines the type of input at 417(FIG. 4A). If the type is a hold and drag, as described above, then theselection is moved at 451. In FIG. 5AH, the device 100 detects twosubstantially simultaneous touch inputs at a first region 524-1 on thetouch screen display. The first region 524-1 is at least partially on orover a location of a selection 528-1, which may be marked by markers,such as a start-point object 526-1 and an end-point object 530-1 atrespective ends of a partial word “ought”. The device 100 furtherdetects the two substantially simultaneous touch inputs remainingmotionless on the touch screen display for a predetermined durationfollowed by a continuous drag gesture (e.g., start dragging within 0.5or 0.75 seconds after remaining motionless) from the location of the twosubstantially simultaneous touch inputs in a direction 532 across thetouch screen display from the first region 524-1 to a second region524-2. In response to detecting the continuous touch movement, thedevice 100 moves the selection 528-1 across document 500 to a newlocation 528-2 as shown in FIG. 5AI following the continuous movement.

As mentioned above, in some embodiments, instead of moving the selection528-1, a ghost selection 528 is displayed in response to the detectionof the two-finger dragging. As shown in FIG. 5AI, in some embodiments,the ghost selection 528-2 is displayed offset from the selection 528-1,and in some embodiments, the ghost selection 528-2 can have a differentappearance to the selection 528-1. For example, the ghost selection528-2 can have a different color and/or shade to highlight the ghostselection 528-2 from the color and/or shade used to highlight theselection 528-1. Further, the ghost markers 526-2 and 530-2 mark thebeginning and the ending of the ghost selection block 528 can havedifferent color, size, and/or shape from the markers 526-1 and 528-1.

In some embodiments, the ghost selection 528-2 appears at location ofthe current position of the selection 528-1 as soon as the device 100detects the two-finger dragging, and the start-point object 526-1 andthe end-point object 530-1 can animate to attract the users attention tothe appearance of the ghost selection 528-2. While dragging, the ghostselection 528-2 moves in the direction of the two-finger movement toindicate the position to where the selection will be moved when the userlifts or releases the contact (e.g., at the lift-off event). The ghostselection 528-2 may include a ghost start-point object 526-2 and a ghostend-point object 530-2. Both the ghost start point object 526-2 and theghost end-point object 530-2 may have different appearances from thestart point object 526-1 and the end-point object 530-1. On release ofthe two-finger drag, the selection moves to the location of the ghostselection 528-2. At release of the contacts, the device 100 ceases thedisplay of the ghost selection 528-2 along with the ghost markers 526-2and 530-2 as shown in FIG. 5AJ. In FIG. 5AJ, the selection 528-3 isindicated by markers, such as a start-point object 526-3 and anend-point object 530-3. Other suitable mechanisms for displaying themovement of the selection are described above.

Turning to FIG. 5AK, FIGS. 5AK-5AL illustrate exemplary user interfacesimplementing step 453 (FIG. 4A) of starting a selection and extendingthe selection while dragging, when the hold and drag are not located onan existing selection (e.g., outside an existing selection in thecontent region or outside the existing selection on the soft keyboard),in accordance with some embodiments. In FIG. 5AK, after detecting twosubstantially simultaneous touch inputs 524-1 (402 of FIG. 4A), thedevice 100 determines that there is an existing selection (411—Yes)(FIG. 4A). The device 100 further determines at 415 that the touchinputs are not on the selection (415—No) (FIG. 4A) (e.g., outside theselection) and determines at 419 that the touch inputs are hold anddrag. In response to determining the type of the touch inputs is a holdand drag, the device 100 expands the existing selection in the directionof the drag gesture at 453.

For example, as shown in FIG. 5AK, the device 100 detects the twosubstantially simultaneous touch inputs 524-1 remaining motionless onthe touch screen display for a predetermined duration followed by acontinuous drag gesture (e.g., start dragging within 0.5 or 0.75 secondsafter remaining motionless) from the location of the two substantiallysimultaneous touch inputs in a direction 532 across the touch screendisplay from the first region 524-1 to a second region 524-2. In someembodiments, the drags are detected by the device 100 as a continuoustouch movement across the touch screen display from the first location524-1 to the second location 524-2.

As shown in FIG. 5AK, an existing selection 528-1 (e.g., the part“ought” of the word “brought”) is detected by the device 100 and acursor is not displayed on the touch screen display. In someembodiments, while the selection 528 is displayed, the device 100 alsodisplay a cursor and the cursor moves in accordance with the draggesture. In response to detecting the two substantially simultaneoustouch inputs 524-1 located outside the selection 528 (e.g., locatedbelow the selection “ought” in FIG. 5AK), the device 100 expands theoriginal selection 528-1 in the direction of the drag gesture 532. InFIG. 5AK, the dragging gesture is in the rightward and downwarddirection towards 524-2. As a result, the expansion of the selection528-1 is in the right and downward direction. When a release or lift-offevent occurs at 524-2, the selection (“ought forth on this continent . .. in a great”) 528 is shown in FIG. 5AL. In FIG. 5AL, the selection 528is indicated by markers, such as a start-point object 526 and anend-point object 530.

FIGS. 5AK-5AL illustrate expanding the selection in accordance with thecontinuous touch movement 532. In some embodiments, the selection canexpand either backward or forward. The initial direction of the draggesture 532 determines the direction of the expansion. For example, aright and/or down (as shown in FIG. 5AK) drag gesture 532 moves theupside down lollipop shaped end-point object 530 right and/or downwithout moving the lollipop shaped start-point object 526 in order toexpand the selection 528 forward; while a left and/or up dragginggesture moves the lollipop shaped start-point object 526 left and/or upwithout moving the upside down lollipop shaped end-point object 530 inorder to expand the selection 528 backward. In some embodiments, theselection 528 expands one word at a time if the drag is fast, andexpands one character at a time if the drag is slow.

FIG. 4B is a flow chart illustrating a method 470 of cursor manipulationwith a single touch input (e.g., a single-finger touch input), inaccordance with some embodiments. The method 470 is performed at aportable multifunction device (e.g., the device 100 in FIG. 1A) with atouch screen display (e.g., the touch screen display 112 in FIG. 1A). Asdescribed below, the method 470 provides an expedient mechanism formoving the cursor, selecting the content, and providing options to editthe content at a portable multifunction device with a touch screendisplay. This method is both faster and easier to perform than using aperipheral device, like a mouse. The method is also intuitive to a user,thereby reducing the number, extent, and/or nature of the inputs fromthe user when selecting content, and creating a more efficienthuman-machine interface. A more efficient input mechanism also requiresless computing resources, thereby increasing battery life of the device.

In some embodiments, the device 100 displays content of an electronicdocument on the touch screen display 112. In some embodiments, thecontent comprises text (e.g., plain text, unstructured text, formattedtext, or text in a web page). In other embodiments, the contentcomprises graphics with or without text. Moreover, the content may beeditable or read-only. In addition to displaying the content, when nocontent is selected, the device 100 may display a cursor within theelectronic document. In some embodiments, while displaying the contentof the electronic document, the device 100 detects a single-finger touchinput (e.g., a single-finger tap) at 472. The portable multifunctiondevice 100 then determines whether prior to detecting the touch input,there is an existing selection of the content at 474.

If the device 100 detects an existing selection (474—Yes), then thedevice 100 further determines if the single-finger touch input islocated on the selection at 475. If the device 100 determines that thesingle-finger touch input is not located on the selection (475—No), thendevice 100 dismisses the selection at 476 and proceeds to step 480. Onthe other hand, if the device 100 determines that the single-fingertouch input is located on the selection (475—Yes), the device 100determines the type of the touch input at 477.

If the device 100 determines the type of single-finger touch input istap (down), lift (up), tap (down), and a drag (477—Tap-±half±drag), thedevice 100 at 487 first dismisses the selection, then performs actionssimilar to those performed at step 471, such as selecting a word closestto the touch input and expanding the selection while dragging. If thedevice 100 determines the type of single-finger touch input is a tap(477—Tap), then the device 100 can perform one of three differentoptions depending on embodiment.

In some embodiments, one of the options (Tap Option 3, 489) is todo-nothing, such that the device 100 does not respond to thesingle-finger tap in accordance with a determination that the tap islocated on a selection (e.g., a selected word). In some embodiment,another option includes dismissing the selection at 485 (Tap Option 1)and performing additional actions (e.g., steps 481-484 in FIG. 4B) inresponse to the tap gesture as if there were no existing selection. Insome embodiments, a third option is to dismiss the selection and placethe cursor adjacent to a word within the electronic document based onthe location of the single-finger input relative to the closest space tothis word at 479 (Tap Option 2). With respect to this embodiment, if thesingle-finger touch input is on a word and the contact location of thesingle-finger touch input is closer to the beginning of the word, thenthe device 100 places the cursor before the word, since the closestspace to this word is the white space before the word. Conversely, ifthe single-finger touch input is on a word and the contact location ofthe single-finger touch input is closer to the end of the word, then thedevice 100 places the cursor after the word, since the closest space tothis word is the white space after the word.

For example, FIGS. 5AM-5AN illustrate step 479 (Tap Option 2, FIG. 4B)of dismissing a selection and moving the cursor in response to detectingan existing selection and a single-finger tap on the selection. In FIG.5AM, the device 100 detects a single-finger tap at a region 524 on thetouch screen display 112. The region 524 is at a proximate location ofthe contact point of the single singer tap to the touch screen display112, such as located on the word “brought”, closer to the end of theword. As shown in FIG. 5AM, the region 524 is on the selection 528,which may be marked by markers, such as a start-point object 526 and anend-point object 530 at respective ends of a partial word “ought”. Inresponse to detecting the single-finger tap 524 outside the selection528, the device 100 dismisses the selection and moves to the cursor tothe closest white space before the word “brought”, as shown in FIG. 5AN.

It should be noted that FIGS. 5AM-5AN illustrate dismissing selection inresponse to tapping on an existing selection of editable text inaccordance with some embodiments. In some embodiments, similar actionsare performed when tapping on an existing selection of non-editable text(e.g., a web page), such that the existing selection is deselected.

Still referring to FIG. 4B, the above steps are performed when thedevice 100 detects an existing selection. When there is no existingselection (474—No), the device 100 first determines the type of thesingle-finger touch input at 480. In response to recognizing a tapgesture (480—Tap), the device 100 determines a distance to the closestspace between two words within the electronic document at 481. Inaccordance with a determination that the distance is less than apredetermined threshold distance (483—Yes), the device 100 moves thecursor to the closest space after a preceding word at 482. In accordancewith a determination that the distance is more than a predeterminedthreshold distance (483—No), the device 100 selects the word closest tothe touch input and displays an indication of the selection on the touchscreen at 484.

For example, FIGS. 6A-6B illustrate step 482 (FIG. 4B) of moving cursorin response to a tap gesture, in accordance with some embodiments. InFIG. 6A, content of an electronic document is displayed on the touchscreen display 112. The content includes at least one line of text,which further includes at least two words. Based on the distance to theclosest white space between two words within the electronic document,the device 100 defines zones (e.g., X zones and Y zone) for each word.In some embodiments, X zones are defined as zones from the beginning orend of a word to a distance less than or equal to a percentage of theword size. In some embodiments, the Y zone is the zone between X-zonesfor that word, e.g., where the distance to the closest white space isgreater than or equal to a percentage of the word size.

For example, in FIG. 6A, the word “Lorem” is the first word in a line oftext. The closest white space is the white space between the word“Lorem” and “ipsum”. As shown in FIG. 6A, X1 starts from the end of theword “Lorem” to a distance less than or equal to a percentage of theword size (e.g., between the letter “e” and the letter “m” of “Lorem”).Within Y1, the distance to the closest white space is greater than orequal to a percentage of the word size “Lorem”. Similarly, X2-X6 startfrom the beginning/end of a word to a distance less than or equal to apercentage of the word size, and within Y2-Y4, the distance to theclosest white space is greater than or equal to a percentage of the wordsize.

In FIG. 6A, the device 100 detects a single-finger tap 524 on the touchscreen display 112. The single-finger tap 524 is located approximatelyon the letter “m” of the word “ipsum” in X3. The closest white space tothe single-finger tap 524 is the space between the word “ipsum” and theword “dolor”. As a result of detecting the distance from thesingle-finger tap 524 to the closest white space between words less thana predetermined threshold distance (e.g., the distance from the touchinput to the end of the word is less than X3), the device 100 places thecursor in the closest space after a preceding word (e.g., after“ipsum”), as shown in FIG. 6B.

In another example, FIGS. 5AO-5AP illustrate step 482 (FIG. 4B) ofmoving the cursor when tapping on white space in between two words. InFIG. 5AO, the device 100 detects a single-finger tap at a region 524 onthe touch screen display 112. Different from the existing selectionscenario as shown in FIGS. 5AM-5AN, there is no existing selection priorto the single-finger tap at the region 524. Instead, a cursor 522-1 isdisplayed in the middle of the word “brought.” In FIG. 5AO, the region524 indicates the contact point of the single-finger tap to the touchscreen display is at a proximate location of the space between twoparagraphs. In response to detecting the single-finger tap 524 notlocated on a word, the device 100 moves the cursor to the contact point522-2 as shown in FIG. 5AP, in between two paragraphs right after apreceding word (e.g., right after “equal.”).

In yet another example, FIGS. 5AQ-5AR illustrate steps 484 (FIG. 4B)when a single-finger tap is located on a word. In FIG. 5AQ, similar toFIG. 5AO, there is no existing selection prior to the single-finger tapat the region 524. Instead, a cursor 522 is displayed in the middle ofthe word “brought.” Different from FIG. 5A0, in FIG. 5AQ, the region 524indicates the contact point of the single-finger tap to the touch screendisplay is located on a word “conceived”, approximately in the middle(e.g., in a Y zone). As a result of the distance to the closest whitespace between words (e.g., the white space between the word “nation,”and the word “conceived”) greater than a predetermined thresholddistance, the device 100 selects the word “conceived” and displays theselection as shown in FIG. 5AR. The selection is marked by The word“conceived” shown in the exemplary user interface is long enough for thedevice 100 to recognize the touch input located in a Y zone. In someembodiments, for short words, e.g., “as”, “do”, “I”, due to the smallsize of a Y zone for such short words, the device 100 will always placethe cursor and not select the word.

In FIG. 5AR, the selection 528 may be marked by markers as an indicationof the selection 528, such as a start-point object 526 and an end-pointobject 530 at respective ends of a partial word “conceived.” Inaddition, the device 100 displays a command display area 540 adjacent tothe selected content 528. The command display area 540 includes anaffordance for cutting the selected content 528 and an affordance forcopying the selected content 528 (e.g., “Cut” icon 542 and “Copy” icon544 in FIG. 5AR). In some embodiments, the command display area 540includes an affordance for pasting previously cut or copied content(e.g., “Paste” icon 546). Though not shown in FIG. 5AR, in someembodiments, the command display area 540 includes an affordance forundoing a previous action, an affordance for displaying additionalcommand options, an affordance redoing a previous action, at least onecommand that is user configurable, an affordance for defining the word,and/or at least one command that is context sensitive, among others.

The above examples (FIGS. 6A-6B, 5AO-5AP, and 5AQ-5AR) illustratevarious operations performed in response to a single-finger tap oneditable content. In some embodiments, in accordance with adetermination that the content is editable text, the device 100 displaysa cursor in the content displays a soft keyboard for text editing.

Referring back to FIG. 4B, if the device 100 determines (at 480) thetype of single-finger touch input is hold and drag, the device 100displays a loupe and moves the cursor at 473. FIG. 6C illustrates anexemplary user interface of cursor movement in response to a hold anddrag gesture, in accordance with some embodiments.

As used herein, a hold and drag gesture is a stationary (orsubstantially stationary) pressing gesture by a single-finger at alocation in the content displayed on the touch screen immediatelyfollowed by a drag. For example, a single-finger contact that moves lessthan a predefined amount (e.g., 1-2 mm) in a predefined time (e.g.,0.2-0.5 seconds) immediately followed by a drag is a hold and draggesture. In response to recognizing the hold and drag gesture, as shownin FIG. 6C, the device 100 magnifies a portion of the content proximateto the contact location 524 on the touch screen 112. The contentmagnifier 508 displays the magnified portion 543 of the content as wellas an insertion marker 545. The insertion marker 545 is displayed at alocation within the expanded portion of the content that corresponds tothe contact location of the single-finger. In some embodiments, inresponse to detecting a movement 532 of the single-finger across thetouch screen 112, the device 100 moves the content magnifier 508, movesthe insertion marker 545, and changes the magnified portion 543 of thecontent in accordance with the detected movement of the single-finger.

Although not shown in FIG. 4B, in some embodiments, if the device 100determines the type of single-finger touch input is hold and drag andthe touch input is located on a selection, the device 100 moves theselection. For example, FIGS. 5AS-5AU illustrate step 479 (FIG. 4B) ofmoving a selection when the device 100 detects a hold and drag gesturelocated on a selection. In FIG. 5AS, the device 100 detects asingle-finger touch input at a first region 524-1 on the touch screendisplay 112. The first region 524-1 is at least partially on or over alocation of a selection 528-1, which may be marked by markers, such as astart-point object 526-1 and an end-point object 530-1 at respectiveends of a partial word “ought.” The device 100 further detects thesingle-finger touch input remains motionless on the touch screen displayfor a predetermined duration followed by a continuous drag gesture(e.g., start dragging within 0.5 or 0.75 seconds after remainingmotionless) from the location of the singer-finger touch input in adirection 532 across the touch screen display from the first region524-1 to a second region 524-2. In response to detecting the continuoustouch movement, the device 100 moves the selection 528-1 across document500 to a new location 528-2 as shown in FIG. 5AU following thecontinuous movement.

As mentioned above, in some embodiments, instead of moving the selection528-1, a ghost selection 528 is displayed in response to the detectionof the single-finger dragging. As shown in FIG. 5AT, in someembodiments, the ghost selection 528-2 is displayed offset from theselection 528-1, and in some embodiments, the ghost selection 528-2 canhave a different appearance to the selection 528-1. For example, theghost selection 528-2 can have a different color and/or shade tohighlight the ghost selection 528-2 from the color and/or shade used tohighlight the selection 528-1. Further, the ghost markers 526-2 and530-2 mark the beginning and the ending of the ghost selection block 528can have different color, size, and/or shape from the markers 526-1 and528-1.

In some embodiments, the ghost selection 528-2 appears at location ofthe current position of the selection 528-1 as soon as the device 100detects the single-finger dragging, and the start-point object 526-1 andthe end-point object 530-1 can animate to attract the users attention tothe appearance of the ghost selection 528-2. While dragging, the ghostselection 528-2 moves in the direction of the single-finger movement toindicate the position to where the selection will be moved when the userlifts or releases the contact (e.g., at the lift-off event). The ghostselection 528-2 may include a ghost start-point object 526-2 and a ghostend-point object 530-2. Both the ghost start point object 526-2 and theghost end-point object 530-2 may have different appearances from thestart point object 526-1 and the end-point object 530-1. On release ofthe single-finger drag, the selection moves to the location of the ghostselection 528-2. At release of the contacts, the device 100 ceases thedisplay of the ghost selection 528-2 along with the ghost markers 526-2and 530-2 as shown in FIG. 5AU. In FIG. 5AU, the selection 528-3 isindicated by markers, such as a start-point object 526-3 and anend-point object 530-3. Other suitable mechanisms for displaying themovement of the selection are described above.

Referring back to FIG. 4B, if the device 100 determine (at 480) that thesingle-finger touch input is tap±half±drag, the device 100 selects aword closest to the touch input and expands the selection while draggingat 471. As used herein, a tap±half±drag gesture is a gesture thatincludes an initial touch input followed immediately (e.g., within apredefined time period such as 0.3-0.5 seconds) by an additional touchinput on the touch screen display that subsequently moves on the touchscreen display without breaking contact with the touch screen display.The move is a continuous touch gesture from a first location of theadditional touch input on the touch screen display to a second locationon the touch screen display.

Still referring to FIG. 4B, if the device 100 determines (at 480) thatthe single-finger touch input is a drag gesture, the device 100 scrollsthe content displayed in the content region of the touch screen display112 in accordance with the direction of the drag at 488. For example, anupward drag scrolls the content upward, a downward drag scrolls thecontent downward, a left drag scrolls the content to the left, andlikewise, a right drag scrolls the content to the right.

In some embodiments, similar to scrolling in response to a drag gesture,the device 100 scrolls the content displayed in the content region inresponse to a swipe gesture in accordance with the direction of theswipe. For example, an upward swipe scrolls the content upward, adownward swipe scrolls the content downward, a left swipe scrolls thecontent to the left, and likewise, a right swipe scrolls the content tothe right.

FIGS. 6D-6E illustrate exemplary user interfaces of expanding aselection while dragging in response to a tap±half±drag gesture, inaccordance with some embodiments. The user interfaces in these figuresillustrate steps 476 and 471 (FIG. 4B). In FIG. 6D, the device 100detects a single-finger touch input 524-1. Upon detecting thesingle-finger touch input 524-1, the device 100 determines that there isan existing selection 528 (e.g., the word “testing”). The selection 528is marked by markers, such as a start-point object 526 and an end-pointobject 530 at respective ends of the selection 528. The device 100further determines that the single-finger touch input is not located onthe existing selection 528 (e.g., on the word “nation”), and dismissesthe existing selection 528. The device 100 then determines that thesingle-finger touch input is a tap-a-half-and-drag gesture. The draggingpart of the tap-a-half-and-drag gesture starts from a first location524-1 to a second location 524-2 in a direction 532 of the dragging.

In response to the tap±half±drag gesture, the device 100 selects theword closest to the starting location 524-1 (e.g., selecting the word“nation”), then expands the selection to include additional contentbeyond the selected word in the direction 532 towards the secondlocation 524-2. The end of the selected portion of the content 530 isincreased as the finger contact moves forward through text on the touchscreen 112, as illustrated in FIG. 6E, while the beginning of theselected portion of the content 526 remains fixed (e.g., the beginningof the word “nation”).

In some embodiments, the start-point object 526 and the end-point object530 are displayed moving while the finger is dragging to indicate theexpanding selection 528. The selection 528 expands one word at a time ifthe finger drags fast, and expands one character at a time if the fingerdrags slow. Though not shown in FIGS. 6D-6E, in some embodiments,whenever text is selected, the device 100 displays a command displayarea adjacent to the selected portion of the content to facilitateediting functions such as cut, copy, paste etc. An exemplary commanddisplay area displayed adjacent to a selected portion of the content isshown in FIG. 5AR and described in greater detail above with respect toFIG. 5AR.

In some embodiments, as shown in FIG. 6E, the device 100 displays acontent magnifier 552 adjacent to the respective end of the selectedcontent. The content magnifier 552 displays: an expanded portion 588 ofthe content proximate to the respective end of the selected content, anda boundary marker 554 that denotes a current position of the respectiveend of the selected content 528. In some embodiments, the expandedportion 558 of the content displayed by the content magnifier 552includes selected content adjacent to the respective end (e.g., “vestha” in FIG. 6E) and unselected content adjacent to the respective end(e.g., “t that” in FIG. 6E).

Referring back to FIG. 4B, in some embodiments, if the device 100determines the type of single-finger touch input is double-tap,triple-tap, quadruple-tap, or 5th-tap (480—double/triple/4th/5th-Tap).In response to recognizing the multi-tap gesture, the device 100 selectsa word closest to the touch input in response to a double-tap, and foreach successive tap, the device 100 expands the selection with eachsuccessive tap at 478.

For example, in FIG. 6F, in response to detecting a single-fingerdouble-tap touch input, the device 100 selects a word closest to thedouble-tap touch input (e.g., the word “and”). As shown in FIG. 6G, theword “and” is selected and an indication of the selection 528 isdisplayed and enclosed with a start-point object 526 and an end-pointobject 530. In case the single-finger touch input is a triple-tap,quadruple-tap, or 5th-tap, in response to detecting the touch input, thedevice 100 expands the selection, selects a sentence (e.g., the sentence“any nation so conceived and so” in FIG. 6H), a paragraph (e.g., theparagraph of “Now we are engaged in a great civil war . . . ” in FIG.6I), or the content of the electronic document (FIG. 6J) respectivelyand the respective selection 528 is displayed with an indication 528 andenclosed with a start-point object 526 and an end-point object 528.

It should be noted that different from in response to a single-tapgesture described above with respect to FIGS. 6A-6B, in someembodiments, even though the distance between the double-tap and theclosest white space is less than a predetermined threshold distance(e.g., in X zone), in response to detecting a double-tap, the device 100selects the word closest to the double-tap touch input (e.g., the word“and”). Furthermore, different from in response to a single-tap gesturedescribed above with respect to FIGS. 5A0-5AP, in some embodiments, inresponse to detecting a double-tap located on a white space between twowords within the electronic document, the device 100 selects the wordfollowing the white space and displays an indication of the selection.Additionally, in some embodiments, when the double-tap is located on thecursor 522, the device 100 selects the word connected to the cursor anddisplays an indication of the selection. Exemplary indication of theselection is shown in FIG. 6G and described above.

In some embodiments, the device 100 can alternatively move the selectedcontent in response to detecting three substantially simultaneous touchinputs, e.g., a three-finger touch input. FIG. 4C is a flow chartillustrating a method 490 of content movement with three substantiallysimultaneous touch inputs (e.g., a three-finger touch input), inaccordance with some embodiments. The method 490 is performed at aportable multifunction device (e.g., the device 100 in FIG. 1A) with atouch screen display (e.g., the touch screen display 112 in FIG. 1A). Asdescribed below, the method 490 provides an expedient mechanism formoving the selected content at a portable multifunction device with atouch screen display.

Similar to the illustration in FIGS. 5AS-5AU, in some embodiments, thedevice 100 first displays content of an electronic document on the touchscreen display 112. In some embodiments, the content comprises text(e.g., plain text, unstructured text, formatted text, or text in a webpage). In other embodiments, the content comprises graphics with orwithout text. Moreover, the content may be editable or read-only. Insome embodiments, while displaying the content of the electronicdocument, the device 100 detects three substantially simultaneous touchinputs (e.g., a three-finger tap) at 492. The portable multifunctiondevice 100 then determines whether prior to detecting the touch input,there is an existing selection of the content at 494. If the device 100detects an existing selection (494—Yes), then the device 100 moves theselection at 496 in response to a hold and drag gesture of thethree-finger.

It should be noted that the three substantially simultaneous touchinputs can be located anywhere on the touch screen display 112. Forexample, a user can touch the touch screen display 112 with threefingers close together or three fingers spread out. Regardless the threetouch inputs locations on the touch screen display 112, the device 100can detect the three substantially simultaneous touch inputs and performactions such as moving a selection in response to detecting a drag ofthe three-fingers following the initial three substantially simultaneoustouch inputs.

It should also be noted that different from the single-finger hold anddrag of a selection as illustrated in FIGS. 5AS-5AU, in someembodiments, the three substantially simultaneous touch inputs are notnecessarily located on the selection. As illustrated in FIGS. 5AV-5AXand described below, the three substantially simultaneous touch inputscan be located outside a selection, on or over a selection, or even onthe keyboard.

For example, FIGS. 5AV-5AX illustrate step 496 (FIG. 4C) of moving aselection in response to the device 100 detecting a hold and draggesture of the three-finger. In FIG. 5AV, the device 100 detects athree-finger touch input at a first region 524-1 on the touch screendisplay 112. The first region 524-1 can be located anywhere on the touchscreen display 112. As shown in FIG. 5AV, the three-finger touch inputcan be located outside a selection 528-1, which may be marked bymarkers, such as a start-point object 526-1 and an end-point object530-1 at respective ends of a partial word “ought”. Though not shown inFIG. 5AV, the three-finger touch input can be partially on or over alocation of the selection 528-1, or even on the keyboard 521.

In some embodiments, the device 100 further detects the three-fingertouch input remains motionless on the touch screen display for apredetermined duration followed by a continuous drag gesture (e.g.,start dragging within 0.5 or 0.75 seconds after remaining motionless)from the location of the three-finger touch input in a direction 532across the touch screen display from the first region 524-1 to a secondregion 524-2. In other embodiments, a delay (e.g., the predeterminedduration, is not required for moving the selection.

In response to detecting the continuous touch movement, the device 100moves the selection 528-1 across document 500 to a new location 528-2 asshown in FIG. 5AX following the continuous movement.

As mentioned above, in some embodiments, instead of moving the selection528-1, a ghost selection 528 is displayed in response to the detectionof the single-finger dragging. As shown in FIG. 5AW, in someembodiments, the ghost selection 528-2 is displayed offset from theselection 528-1, and in some embodiments, the ghost selection 528-2 canhave a different appearance to the selection 528-1. For example, theghost selection 528-2 can have a different color and/or shade tohighlight the ghost selection 528-2 from the color and/or shade used tohighlight the selection 528-1. Further, the ghost markers 526-2 and530-2 mark the beginning and the ending of the ghost selection block 528can have different color, size, and/or shape from the markers 526-1 and528-1.

In some embodiments, the ghost selection 528-2 appears at location ofthe current position of the selection 528-1 as soon as the device 100detects the three-finger dragging, and the start-point object 526-1 andthe end-point object 530-1 can be animated to attract the user'sattention to the appearance of the ghost selection 528-2. Whiledragging, the ghost selection 528-2 moves in the direction of thethree-finger movement to indicate the position to where the selectionwill be moved when the user lifts or releases the contact (e.g., at thelift-off event). The ghost selection 528-2 may include a ghoststart-point object 526-2 and a ghost end-point object 530-2. Both theghost start point object 526-2 and the ghost end-point object 530-2 mayhave different appearances from the start point object 526-1 and theend-point object 530-1. On release of the three-finger drag, theselection moves to the location of the ghost selection 528-2. At releaseof the contacts, the device 100 ceases the display of the ghostselection 528-2 along with the ghost markers 526-2 and 530-2 as shown inFIG. 5AX. In FIG. 5AX, the selection 528-3 is indicated by markers, suchas a start-point object 526-3 and an end-point object 530-3. Othersuitable mechanisms for displaying the movement of the selection aredescribed above.

It should be understood that the particular order in which theoperations in FIGS. 4A-4C have been described is merely exemplary and isnot intended to indicate that the described order is the only order inwhich the operations could be performed. One of ordinary skill in theart would recognize various ways to reorder the operations describedherein. For brevity, these details are not repeated here.

In accordance with some embodiments, FIG. 8 shows a functional blockdiagram of an electronic device 800 configured in accordance with theprinciples of the invention as described above. The functional blocks ofthe device may be implemented by hardware, software, or a combination ofhardware and software to carry out the principles of the invention. Itis understood by persons of skill in the art that the functional blocksdescribed in FIG. 8 may be combined or separated into sub-blocks toimplement the principles of the invention as described above. Therefore,the description herein may support any possible combination orseparation or further definition of the functional blocks describedherein.

In some embodiments, the electronic device 800 includes a display unit802 configured to display content of an electronic document and a cursorwithin the electronic document; a touch-sensitive surface unit 804configured to receive user contacts; and a processing unit 808 coupledto the display unit 802 and the touch-sensitive surface unit 804. Insome embodiments, the processing unit 808 includes a detecting unit 810and a selecting unit 812.

The processing unit 808 is configured to: detect two substantiallysimultaneous touch inputs anywhere on the touch-sensitive surface unit804 (e.g., with the detecting unit 810); and in response to detectingthe two substantially simultaneous touch inputs: select a portion of thecontent in the document closest to the cursor (e.g., with the selectingunit 812); and display the portion of the content as selected content(e.g., with the display unit 802).

In some embodiments, the electronic device 800 includes the display unit802 configured to display content of an electronic document and a cursorat a current location within the content; the touch-sensitive surfaceunit 804 configured to receive user contacts; and the processing unit808 coupled to the display unit 802 and the touch-sensitive surface unit804. In some embodiments, the processing unit 808 includes the detectingunit 810, a determining unit 816, and a moving unit 814.

The processing unit 808 is configured to: detect two substantiallysimultaneous touch inputs at a first region on the touch-sensitivesurface unit 804 (e.g., with the detecting unit 810); upon determiningthat the two substantially simultaneous touch inputs remain in contactwith the touch-sensitive surface unit 804 (e.g., with the detecting unit810), detect a continuous touch gesture from a location of the twosubstantially simultaneous touch inputs across the touch-sensitivesurface unit 804 (e.g., with the detecting unit 810) from the firstregion to a second region; and in response to detecting the continuoustouch gesture: move the cursor from the current location to a newlocation in a direction of the continuous touch gesture (e.g., with themoving unit 814).

In some embodiments, the electronic device 800 includes the display unit802 configured to display text and a cursor at a line within the text;the touch-sensitive surface unit 804 configured to receive usercontacts; and the processing unit 808 coupled to the display unit 802and the touch-sensitive surface unit 804. In some embodiments, theprocessing unit 808 includes the detecting unit 810 and the moving unit814.

The processing unit 808 is configured to: detect a two-finger swipegesture on the touch-sensitive surface unit 804 (e.g., with thedetecting unit 810) in a direction at least partially parallel to theline and towards an edge of the touch-sensitive surface unit 804 (e.g.,with the detecting unit 810); and in response to detecting thetwo-finger swipe gesture: move the cursor to a distal point of the text(e.g., with the moving unit 814).

In some embodiments, the electronic device 800 includes the display unit802 configured to display content of an electronic document and a cursorwithin the electronic document; the touch-sensitive surface unit 804configured to receive user contacts; and the processing unit 808 coupledto the display unit 802 and the touch-sensitive surface unit 804. Insome embodiments, the processing unit 808 includes the detecting unit810 and the selecting unit 812.

The processing unit 808 is configured to: detect a touch input on thetouch-sensitive surface unit 804 (e.g., with the detecting unit 810),wherein the touch input is located on a word within the content; and inresponse to detecting the touch input: select the word (e.g., with theselecting unit 812); and display a command display area adjacent to theselected word, wherein the second command display area includes an iconfor cutting the selected word, an icon for copying the selected word,and an icon for pasting a previously selected content.

In some embodiments, the electronic device 800 includes the display unit802 configured to display content of an electronic document and aselection of the content within the electronic document; thetouch-sensitive surface unit 804 configured to receive user contacts;and the processing unit 808 coupled to the display unit 802 and thetouch-sensitive surface unit 804. In some embodiments, the processingunit 808 includes the detecting unit 810, the determining unit 816, andthe moving unit 814.

The processing unit 808 is configured to: detect a single touch input onthe touch-sensitive surface unit 804 (e.g., with the detecting unit 810)at a location over the selection; in response to detecting the singletouch input at the location, display a set of options related to theselection (e.g., with the display unit 802); determine if the singletouch input remains at the location for a predetermined amount of timefollowed by a continuous touch gesture away from the location on thetouch-sensitive surface unit 804 (e.g., with the determining unit 816);and in response to detecting the single touch input remaining at thelocation for the predetermined amount of time followed by the continuoustouch gesture away from the location, move the selection to a differentlocation in a direction of the continuous touch gesture (e.g., with themoving unit 814).

In some embodiments, the electronic device 800 includes the display unit802 configured to display content of an electronic document and aselection of the content within the electronic document; thetouch-sensitive surface unit 804 configured to receive user contacts;and the processing unit 808 coupled to the display unit 802 and thetouch-sensitive surface unit 804. In some embodiments, the processingunit 808 includes the detecting unit 810, the determining unit 816, andthe moving unit 814.

The processing unit 808 is configured to: detect three substantiallysimultaneous touch inputs at locations anywhere on the touch-sensitivesurface unit 804 (e.g., with the detecting unit 810); determine if thethree substantially simultaneous touch inputs is followed by threecontinuous touch gestures away from the locations on the touch-sensitivesurface unit 804 (e.g., with the determining unit 816); and in responseto detecting the three continuous touch gestures, move the selection toa different location in a direction of the continuous touch gestures(e.g., with the moving unit 814).

In some embodiments, the electronic device 800 includes the display unit802 configured to display content of an electronic document, the contentincludes at least one line of text comprising at least two words; thetouch-sensitive surface unit 804 configured to receive user contacts;and the processing unit 808 coupled to the display unit 802 and thetouch-sensitive surface unit 804. In some embodiments, the processingunit 808 includes the detecting unit 810, the determining unit 816, andthe selecting unit 812.

The processing unit 808 is configured to: detect a touch input on thecontent (e.g., with the detecting unit 810); and in response todetecting the touch input: determine a distance of the touch input to aclosest space between the two words within the electronic document(e.g., with the determining unit 816); and in accordance with adetermination that the distance is greater than a predeterminedthreshold distance, select a word within the electronic document closestto the touch input and display the selection (e.g., with the displayunit 802).

In some embodiments, the electronic device 800 includes the display unit802 configured to display content of an electronic document and a softkeyboard in focus; the touch-sensitive surface unit 804 configured toreceive user contacts; and the processing unit 808 coupled to thedisplay unit 802 and the touch-sensitive surface unit 804. In someembodiments, the processing unit 808 includes the detecting unit 810 andthe changing appearance unit 818.

The processing unit 808 is configured to: detect two substantiallysimultaneous touch inputs on the soft keyboard (e.g., with the detectingunit 810); and in response to detecting the two substantiallysimultaneous touch inputs on the soft keyboard, blur the soft keyboard(e.g., with the changing appearance unit 818).

In some embodiments, the electronic device 800 includes the display unit802 configured to display content of an electronic document and a cursorwithin the electronic document; the touch-sensitive surface unit 804configured to receive user contacts; and the processing unit 808 coupledto the display unit 802 and the touch-sensitive surface unit 804. Insome embodiments, the processing unit 808 includes the detecting unit810 and the changing appearance unit 818.

The processing unit 808 is configured to: display, on thetouch-sensitive surface display unit 802, a soft keyboard havingmultiple keys each having a respective alphanumeric character of aplurality of alphanumeric characters; detect two substantiallysimultaneous touch inputs on the soft keyboard (e.g., with the detectingunit 810); and in response to detecting the two substantiallysimultaneous touch inputs on the soft keyboard, change the appearance ofthe soft keyboard to a changed appearance (e.g., with the changingappearance unit 818).

Turning to FIGS. 9A-9AD, these figures illustrate exemplary userinterfaces for selecting content, moving a text selection indicator, andchanging keyboard appearance based on contact intensity (e.g.,pressure), in accordance with some embodiments. The user interfaces inthese figures are used to illustrate the processes described below withrespect to FIGS. 10A-10G and 11A-11F. FIGS. 9B-9AD include intensityversus time diagrams that show the current intensity of the contact onthe touch-sensitive surface relative to a plurality of intensitythresholds (e.g., “IT_(D)”, “IT_(L)”, and “IT₀”).

FIGS. 9A-9N illustrate exemplary user interfaces for selecting contentin a text selection mode in response to a deep press on an onscreenkeyboard in accordance with some embodiments. The user interfaces inthese figures are used to illustrate the processes described below withrespect to FIGS. 10A-10G.

In FIG. 9A, editable content 900 is displayed in a content presentationregion 902 while an application is in a document editing mode. Theapplication runs on a device 100 that has one or more sensors (e.g.,contact intensity sensor(s) 259, FIG. 2B) to detect intensity ofcontacts with the touch-sensitive display. In the document editing mode,an onscreen keyboard 921 is displayed for text inputs. A user may entertext by touch inputs (e.g., by contact) on the onscreen keyboard 921 andconfirm completion of the editing by performing another touch input(e.g., a tap on “done” button) to exit the editing mode. An insertionmarker (e.g., cursor 922) is displayed to indicate a current locationfor text inputs.

In FIG. 9B, at time T₁, while in the editing mode and displaying thekeyboard 921, the device detects a deep press by a finger contact 924 onthe onscreen keyboard 921, such that the intensity of the press inputhas increased above the deep press intensity threshold IT_(D). Inresponse to detecting the deep press, the appearance of the keyboard 921changes to indicate that the application has entered a text selectionmode. In the text selection mode, the keyboard 921 is not responsive tokeystrokes, but rather serves as an onscreen touchpad or track pad formoving the cursor. As shown in FIG. 9B, in some embodiments, the keysare visually obscured. Visually obscuring keys on the keyboard 921provides an intuitive indication that the function of the keyboard 921has changed. In some embodiments, the onscreen keyboard 921 shown inFIG. 9B is dimmed or blurred relative to the keyboard 921 shown in FIG.9A prior to detecting the deep press, such that the keys are no longervisible or clearly displayed as before. In some embodiments, thekeyboard 921 becomes semitransparent, to reveal content lying underneaththe keyboard.

When the keyboard 921 serves as an onscreen touch pad or track pad, inresponse to detecting finger movement 932 on the keyboard 921, in someembodiments, a floating cursor 922-1 moves across the touch screendisplay 112 in accordance with the movement of one or more fingercontacts, and a ghost cursor 922-2 is displayed offset from the realcursor 922-1. In some embodiments, the ghost cursor 922-2 indicateswhere the cursor will be located after a lift-off of the finger contact924. In some embodiments, the ghost cursor 922-2 is a modified versionof the original cursor 922 displayed on the screen (e.g., the ghostcursor 922-2 is in grey color, while the original cursor 922 as shown inFIG. 9A is in black color).

In some embodiments, when the touch input for entering the textselection mode is detected, the original cursor 922 changes itsappearance, while the floating cursor 922-1 springs into its initiallocation from the original text cursor 922. In some embodiment, theinitial location of the floating cursor 922-1 is slightly offset fromthe location of the ghost cursor 922-2 (e.g., slightly higher in FIG.9B). In some embodiments, the animation displayed in response to thetouch input has the visual effect that the original text cursor 922 hasjumped off the page and becomes a floating cursor 922-1, while leaving ashadow or ghost image at its original location. For example, the ghostcursor 922-2 shown in FIG. 9B is in the middle of the word “Liberty”,the same location as the cursor 922 in FIG. 9A when the touch input byfinger contact 924 is determined to satisfy the one or more criteria forentering the text selection mode at time T₁.

In some embodiments, when the user subsequently moves the fingercontact, the floating cursor 922-1 moves with the finger contact 924 ina continuous fluid motion in the content presentation region 902, whilethe ghost cursor 922-2 moves in discrete jumps from one permittedinsertion location to another permitted insertion location to indicatethe final location of the cursor if the touch input was terminated atthat moment. For example, in FIG. 9C, when the finger moves 932 along apath, the floating cursor 922-1 moves along a similar path, while theghost cursor 922-2 moves in the direction of the finger movement and indiscrete jumps from the middle of the word “Liberty” (FIG. 9B) to theend of the word “conceived” (FIG. 9C), then to the middle of the word“created” (FIG. 9D). The ghost cursor 922-2 indicates the position wherea cursor will be displayed when the user lifts the finger. As shown inFIGS. 9C and 9D, after the initial deep press at time T₁, the intensityof the contact 924 on the touch screen 112 can be above or below thedeep press intensity threshold IT_(D) during the finger movement betweentime T₁ and T₃.

In FIG. 9E, at the end of the finger movement 932, the contact intensitydecreases to zero at time T₄, which corresponds to a lift-off of thefinger. In response to the lift-off, in some embodiments, the deviceceases to display the floating cursor, maintains display of the ghostcursor at a respective permitted insertion position reached by the ghostcursor after the discrete movements of the ghost cursor (e.g., in themiddle of the word “created”). As shown in FIG. 9E, in some embodiments,the device ceases to display the ghost cursor, displays the cursor 922in the middle of the word “created”, and restores the appearance of theonscreen keyboard 921 (e.g., no longer obscured) to indicate the end ofthe text selection mode and that the onscreen keyboard 921 is responsiveto keystrokes.

In FIG. 9F, while in the text selection mode, at time T₄, when a ghostcursor (not shown in FIG. 9F) is located in the middle of the word“created”, the device detects the intensity of the press input exceedthe deep press intensity threshold IT_(D). In response to detecting thedeep press on the editable content 900, the device begins to select aportion of the text input 928 in accordance with the movement 932 of thecontact in the touch input. After time T₄, during the movement 932, theintensity of the press input can be above or below the deep pressintensity threshold Ill).

FIGS. 9G-9L illustrate a variety of possible behaviors that can occur attime T₅ in accordance with some embodiments.

In FIG. 9G, at time T₅, the device detects lift-off of the contact inthe touch input, such that the intensity of the press input is zero. Inresponse to detecting the lift-off of the contact in the touch input, insome embodiments, the device confirms selection of the portion of thetext input 928. In some embodiments, a selection box 928 (e.g., a greybox) is maintained on the selected portion of the text input, and/or amenu bar 940 is displayed that shows actions that can be performed onthe selected portion of the text input (e.g., copying 944, defining,cutting 942, pasting, etc.). Thus, FIGS. 9F and 9G illustrate using afirst deep press input by a contact (924) to initiate text selection,then movement of the contact to select text, and then lift-off of thecontact to confirm the selection.

In FIG. 9H, after selecting the portion of the text input between timeT₄ and T₅, while the portion of the text input is selected (FIG. 9F),the device detects an intensity of the contact in the touch input thatexceeds the deep press intensity threshold IT_(D) at time T₅. Inresponse to detecting the deep press while the portion of the text inputis selected, in some embodiments, the device clears selection of theportion of the text input and displays the insertion marker 922, asshown in FIG. 9H. Thus, FIGS. 9F and 9H illustrate using a first deeppress input by a contact (924) to initiate text selection, then movementof the contact to select text, and then a second deep press input by thecontact to clear the selection.

In FIG. 9I, instead of clearing the selection as shown in FIG. 9H, upondetecting the deep press at time T₅, while the portion of the text inputis selected (FIG. 9F), the device detects an intensity of the contact inthe touch input that exceeds the deep press intensity threshold IT_(D)followed by lift-off of the contact without further movement of thecontact. In response to detecting the stationary deep press followed bythe lift-off, the device confirms the selection 928, and in someembodiments, displays a menu bar 940. Thus, FIGS. 9F and 9I illustrateusing a first deep press input by a contact (924) to initiate textselection, then movement of the contact to select text, and then asecond deep press input by the contact and lift-off without furthermovement of the contact to confirm the selection.

In FIG. 9J, upon detecting the deep press at time T₅, while the portionof the text input is selected (FIG. 9F), the device detects an intensityof the contact in the touch input that exceeds the deep press intensitythreshold IT_(D) followed by further movement 932 of the contact. Inresponse to the movement following the deep press, the device clears theselection and displays the insertion marker 922 at the end of the word“created”. After clearing the selection at time T₅, a new selection 928is made in accordance with the finger movement 932 between time T₅ andT₆, as shown in FIG. 9K. The new selection 928 starts from the end ofthe word “created”, where the insertion marker 922 was located when adeep press was detected at time T₅. Thus, FIGS. 9F, 9J, and 9Killustrate using a first deep press input by a contact (924) to initiatetext selection, then movement of the contact to select text, then asecond deep press input by the contact to confirm the selection, andthen further movement of the contact to clear the prior selection andstart a new selection.

In FIG. 9L, upon detecting the deep press at time T₅, while the portionof the text input is selected (FIG. 9F), the device detects an intensityof the contact in the touch input that exceeds the deep press intensitythreshold IT_(D) followed by further movement 932 of the contact. Inresponse to the movement following the deep press, the device moves thefloating cursor 922-1 and the ghost cursor 922-2 within the contentpresentation region 902 in accordance with the further movement 932 ofthe contact. Thus, FIGS. 9F and 9L illustrate using a first deep pressinput by a contact (924) to initiate text selection, then movement ofthe contact to select text, then a second deep press input by thecontact to confirm the selection, and then further movement of thecontact to clear the prior selection and move the cursor(s), withoutstarting a new selection.

In FIG. 9M, while in the text selection mode after detecting a deeppress at time T₁, the device detects a first local intensity peak of thetouch input at time T₄ followed by a second local intensity peak in thetouch input at time T₅ that both exceed the deep press intensitythreshold IT_(D). In response, the device selects a predetermined unit(e.g., a word, or a phrase, or a sentence) of the text input accordingto a current location of the ghost cursor. For example, at time T₃, theghost cursor 922-2 is located in the middle of the word “created” (FIG.9D). In response to detecting two local intensity peak exceeding thedeep press intensity threshold IT_(D) at time T₄ and T₅ respectively,the device selects the word “created” according to the current locationof the ghost cursor located in the middle of the word.

In some embodiments, as shown in FIG. 9M, the device detects an increasein a characteristic intensity of the contact above the predefinedthreshold (e.g., IT_(D)) followed by a decrease in the characteristicintensity of the contact below the predefined intensity threshold (e.g.,IT_(D), and, optionally, a hysteresis intensity threshold that is belowthe predefined intensity threshold), which in turn is followed byanother increase in the characteristic intensity of the contact abovethe predefined intensity threshold (e.g., IT_(D)).

In some embodiments, the criteria for selecting the first predeterminedunit of the text includes a criterion that is met when the secondincrease in characteristic intensity of the contact above the predefinedintensity threshold (e.g., IT_(D)) occurs within a predetermined timeperiod after the first increase in characteristic intensity of thecontact above the predefined intensity threshold (e.g., IT_(D), thedouble press is a quick double press to trigger selection of the firstpredetermined unit of text input). For example, when the durationbetween time T₄ and T₅ is less than a threshold, the criteria forselecting the first predetermined unit of text are met.

In some embodiments, instead of just two increases in the characteristicintensity of the contact above the predefined intensity threshold (e.g.,IT_(D)), three such increases are detected and used to trigger selectionof a second predetermined unit of text input (e.g., a quick triple presstriggers selection of a sentence, whereas a quick double press triggersselection of a word).

In FIG. 9N, after detecting the first local intensity peak followed bythe second local intensity peak, the device detects a third consecutivelocal intensity peak in the touch input that exceeds the predeterminedintensity threshold (e.g., IT_(D)). In some embodiments, the threeconsecutive local intensity peaks at time T₄, T₅, and T₆ are spacedwithin a predetermined duration (e.g., within 100 ms or within 200 ms)such that the three intensity peaks are recognized as a single usercommand (e.g., a triple deep press). In response to detecting the tripledeep press, the device selects a second predetermined unit (e.g., asentence “Four score . . . equal.”) of the text input that is largerthan and includes the first predetermined unit (e.g., the word “created”in FIG. 9M) of the text input.

Turning to FIGS. 9O-9AD, FIGS. 9O-9AD illustrate exemplary userinterfaces for selecting content. The user interfaces in these figuresare used to illustrate the processes described below with respect toFIGS. 11A-11F.

In FIG. 9O, editable content 900 is displayed while an application is ina document editing mode. The application runs on a device 100 that hasone or more sensors (e.g., contact intensity sensor(s) 259, FIG. 2B) todetect intensity of contacts with the touch-sensitive display. A usermay edit text (e.g., via a keyboard, not shown) and confirm completionof the editing by performing a touch input (e.g., a tap on “done”button) to exit the editing mode. An insertion marker (e.g., cursor 922)is displayed to indicate a current location for text inputs.

At a time prior to T₀, no contact is present or detected on touch screendisplay 112. At T₀, the device detects the intensity of the press inputincreases above the contact intensity threshold IT₀. In response todetecting the finger contact 925 on the editable content 900, the devicemoves a text selection indicator (e.g., a cursor 922) to the locationthat corresponds to the finger contact (e.g., between the character “r”and “o” of the word “from).

In FIG. 9P, in some embodiments, after the intensity of the press inputincreases above the contact intensity threshold IT₀ at T₀, the fingerpress maintains its pressure, which corresponds to a press and holdgesture. In response to detecting the press and hold gesture, the devicedisplays a magnifying loupe 908. In the magnifying loupe 908, the deviceexpands a portion 943 of the editable content on the touch screendisplay to a second magnification that is greater than the firstmagnification. The content magnifier 908 displays the expanded portion943 of the editable content and a position marker 945 (which correspondsto cursor 922, and which may be displayed in addition to cursor 922 orin place of cursor 922) at a first location within the expanded portionof the editable content (e.g., in the middle of the word “from”). Insome embodiments, the expanded portion 943 of the editable contentdisplayed in the content magnifier includes portions of at least threehorizontal lines of text displayed concurrently. In some embodiments,the content magnifier 908 has a predefined shape (e.g., a circle).

In FIG. 9Q, in some embodiments, after the intensity of the press inputincreases above the contact intensity threshold IT₀ at T₀, the intensityof the finger press further increases. At time T₁, the device detectsthat the intensity of the press input has increased above the deep pressintensity threshold IT_(D). In some embodiments, in response todetecting the deep press on the editable content 900, the devicedisplays the content magnifier 908.

In FIG. 9P or FIG. 9Q, when the device detects movement 932 of thefinger contact 925 across the touch screen display, the device moves thecontent magnifier 908 and the insertion marker 922 (and/or positionmarker 945) in accordance with the movement of the finger contact 925.In FIG. 9R, in response to detecting the movement 932 of the fingergesture from the middle of the word “from” at T₁ to the middle of theword “nation” at T₂, the device moves the content magnifier 908 and theinsertion marker 922 in accordance with the movement of the finger.During the finger movement 932, the intensity of the press input canincrease or decrease. For example, as shown in FIG. 9R, after time T₁,the intensity continues to rise above the deep press intensity thresholdIT_(D) then decreases to dip below the deep press intensity thresholdIT_(D) at time T₂. The device continues to move the content magnifier908 and the insertion marker 922 until the device detects the intensityof the press input has once again increased above the deep pressintensity threshold IT_(D) at time T₃, as shown in FIG. 9S.

In FIG. 9S, at time T₃, the device detects a deep press followed bymovement of contact 925. In response to detecting the deep pressfollowed by movement of contact 925, the device selects editable text(e.g., one character at a time) as the finger contact 925 moves. In someembodiments, the selected content 928 is marked by a start-point object926 and an end-point object 930 at respective ends of the selectedcontent 928. For example, in response to detecting the movement 932 ofthe finger contact 925 from the middle of the word “nation” to themiddle of the word “under”, the device selects the editable content asthe finger moves and marks the selection 928 by the start-point object926 in the middle of the word “nation” and the end-point object 930 inthe middle of the word “under”.

In the corresponding intensity diagram, the movement of the finger fromthe middle of the word “nation” to the middle of the word “under”corresponds to the segment between time T₃ and T₄. As shown in FIG. 9S,once the initial deep press is detected, the intensity of the pressinput does not need to be constantly above the deep press intensitythreshold IT_(D). Even when the intensity of the press input has fallenbelow IT_(D) during part of the finger movement, the content selectioncontinues.

FIGS. 9T-9X illustrate a variety of possible behaviors that can occur attime T₅ in accordance with some embodiments.

In FIG. 9T, at the end of the content selection, in some embodiments,the device detects lift-off of the finger contact at time T₅ such thatthe device detects the intensity of the finger contact 925 decreases tozero. In response to detecting the lift-off, the device maintains theselection 928 and displays an action menu 940 adjacent to the selectedcontent 928. In some embodiments, the action menu 940 includes an icon942 for cutting the selected content 928, an icon 944 for copying theselected content 928, and an icon 946 for looking up the selectedcontent 928. Thus, FIGS. 9S and 9T illustrate using a first deep pressinput by a contact (925) to initiate text selection, then movement ofthe contact to select text, and then lift-off of the contact to confirmthe selection.

In FIG. 9U, at the end of the content selection, in some embodiments,the device detects another deep press by finger contact 925 at time T₅.In response to detecting the deep press, the device cancels theselection, and places the text selection indicator (e.g., cursor 922) atthe deep press location (e.g., in the middle of the word “under”), andstarts a new selection upon detecting further finger movement. Thus,FIGS. 9S and 9U illustrate using a first deep press input by a contact(925) to initiate text selection, then movement of the contact to selecttext, and then a second deep press input by the contact to clear theselection.

In FIG. 9V, in some embodiments, instead of canceling the selection upondetecting another deep press by finger contact 925, at time T₅, inresponse to detecting the deep press, the device maintains the selection928. Subsequently, in some embodiments, as shown in FIG. 9W, the devicedetects finger movement 932 between time T₅ and T₆. In response todetecting the finger movement 932, the selection is cleared, and thetext selection indicator (e.g., cursor 922) moves from the middle of theword “under” to the middle of the word “of” in accordance with themovement 932 of the finger. Thus, FIGS. 9S, 9V, and 9W illustrate usinga first deep press input by a contact (925) to initiate text selection,then movement of the contact to select text, then a second deep pressinput by the contact to confirm the selection, and then further movementof the contact to clear the prior selection and move the cursor(s),without starting a new selection.

FIG. 9X illustrates, in some embodiments, both cursor positioning andtext selection occur in the text selection mode. After detecting thedeep press at time T₅, in response to detecting further finger movement932 between time T₅ and T₆, the device maintains the selection 928 anddisplays an action menu 940 adjacent to the selected content 928. Inaddition, the device displays the text selection indicator (e.g., cursor922) that moves in accordance with movement 932 of the finger. Thedevice will clear the selection 928 upon detecting another deep press.Thus, FIGS. 9S and 9X illustrate using a first deep press input by acontact (925) to initiate text selection, then movement of the contactto select text, then a second deep press input by the contact to confirmand complete the selection, and then further movement of the contact tomove the cursor(s) and maintain the action menu 940, without clearingthe selected content.

In some embodiments, if a third deep press input by the contact 925 isdetected after the further movement of the contact to move thecursor(s), then the selected content (e.g., “ation un” in FIG. 9X) iscleared and display of the action menu 940 ends. In some embodiments,the third deep press input by the contact initiates text selection suchthat movement of the contact 925 after the third deep press inputselects text in accordance with the movement of the contact 925.

In some embodiments, the third deep press input does not clear thepreviously selected content, but the third deep press input by thecontact does initiate additional text selection such that movement ofthe contact 925 after the third deep press input selects an additionalportion of text in accordance with the movement. In these embodiments, auser is able to select multiple portions of content with a singlecontinuous contact by repeatedly: deep pressing to initiate textselection, moving to select text, deep pressing again to complete textselection, and moving without selecting text to a next position on thetouch-sensitive surface that corresponds to a desired starting locationfor the next text selection.

On the other hand, if lift off of contact 925 is detected withoutdetecting a third deep press input by contact 925, then display of theselected content “ation un” and the action menu 940 are maintained.

In some embodiments, in FIG. 9X, the selected text “ation un” is copiedby moving contact 925 across the touch-sensitive surface to a positionthat corresponds to the location of copy icon 944, and then detecting adeep press with contact 925 at that position. Similarly, in FIG. 9X, theselected text “ation un” is cut by moving contact 925 across thetouch-sensitive surface to a position that corresponds to the locationof cut icon 942, and then detecting a deep press with contact 925 atthat position. Similarly, in FIG. 9X, the selected text “ation un” islooked up by moving contact 925 across the touch-sensitive surface to aposition that corresponds to the location of lookup icon 946, and thendetecting a deep press with contact 925 at that position. Alternatively,while action menu 940 is displayed, a tap gesture on the touch-sensitivesurface at a location that corresponds to the location of one of icons942, 944, and 946 in the action menu 940 initiates the correspondingaction. In some embodiments, a deep press input (e.g., an increase inintensity from below IT_(D) to above IT_(D)) by contact 925 on text(e.g., a word, set of words or characters, hyperlink, or other portionof text) while the text is selected initiates a predefined userinterface action associated with the selected text. In some embodiments,the predefined user interface action includes displaying additionalinformation about the selected text (e.g., displaying a region displayedoverlaid on the user interface that includes the text, wherein theoverlaid region includes additional information about the text such as adefinition for a word, an encyclopedia entry for a word or phrase, or apreview of a linked resource such as a webpage for a hyperlink). In someembodiments, the additional information continues to be displayedoverlaid on the user interface that includes the text until contact 925ceases to be detected, and the device ceases to display the additionalinformation in response to ceasing to detect contact 925. In someembodiments, the additional information for the selected text continuesto be displayed overlaid on the user interface that includes the textuntil another deep press (e.g., an increase in intensity from belowIT_(D) to above IT_(D)) by contact 925 is detected on the selected text,and the device ceases to display the additional information in responseto detecting a deep press (e.g., an increase in intensity from belowIT_(D) to above IT_(D)) by contact 925 on the selected text while theadditional information for the selected text is displayed.

Turning to FIGS. 9Y-9AD, FIGS. 9Y-9AD illustrate exemplary userinterfaces for selecting read-only content (e.g., a webpage) on a device100 that has one or more sensors (e.g., contact intensity sensor(s) 259,FIG. 2B) to detect intensity of contacts with the touch-sensitivedisplay. In FIG. 9Y, prior to time T₀, no contact is present or detectedon the touch screen 112. At T₀, the device detects the intensity of apress input by finger contact 927 increases above the contact intensitythreshold IT₀.

In FIG. 9Z, at time T₁, the device detects that the intensity of thepress input by finger contact 927 has increased above the deep pressintensity threshold IT_(D). In response to detecting the deep press onthe read-only content, the device displays a selection box 929 around aword (e.g., “Translation”) in the read-only text.

In FIG. 9AA, at time T₂, the device detects a movement 932 of the fingercontact 927 from the word “Translation” to “Gift” in the read-onlycontent. In accordance with the movement of the finger contact 927,additional words are selected, and the selection box 929 expands to“Translation: A U.S. Gift”. In some embodiments, the expansion increasesone word at a time.

In FIG. 9AB, at time T₃, the device detects that the intensity of thepress input by finger contact 927 has increased above the deep pressintensity threshold IT_(D). In response to detecting the deep press, thedevice clears the selection, and starts a new selection by selecting aword at the deep press location of finger contact 927 (e.g., the word“Gift”) as shown in FIG. 9AB and increases the new selection box 929 oneword at a time in accordance with the movement 932 of the finger contact927, as shown in FIG. 9AC.

In FIG. 9AD, at the end of the content selection, in some embodiments,the device detects a lift-off of the finger contact 927, such that theintensity of the press input has decreased to zero. In response todetecting the lift-off, the device maintains the selection and displaysan action menu 940 adjacent to the selected content in selection box929. The action menu 940, in some embodiments, includes an icon forcopying the selected content.

FIGS. 10A-10G illustrate a flow diagram of a method 1000 of manipulatinga cursor in accordance with some embodiments. The method 1000 isperformed at (1002) an electronic device (e.g., portable multifunctiondevice 100, FIG. 1A) with one or more processors, memory, and a display.In some embodiments, the display is a touch-screen display and thetouch-sensitive surface is on or integrated with the display. In someembodiments, the display is separate from the touch-sensitive surface.Some operations in method 1000 are, optionally, combined and/or theorder of some operations is, optionally, changed.

As described below, the method 1000 provides an efficient way tomanipulate a cursor. The method reduces the cognitive burden on a userwhen using a cursor, thereby creating a more efficient human-machineinterface. For battery-operated electronic devices, enabling a user tomanipulate a cursor faster and more efficiently conserves power andincreases the time between battery charges.

The device concurrently displays (1004) an onscreen keyboard (e.g.,keyboard 921, FIG. 9A) and a content presentation region 902 on thetouch-sensitive display. In some embodiments, the content presentationregion displays (1006) text input received from the onscreen keyboard.The device then detects (1008) a touch input (e.g., by finger contact924) on the onscreen keyboard 921 displayed on the touch-sensitivedisplay. In response to detecting the touch input on the onscreenkeyboard displayed on the touch-sensitive display, the device determines(1010) whether the touch input satisfies one or more criteria forentering a text selection mode.

In some embodiments, the one or more criteria for entering the textselection mode include (1012) the touch input including a two-fingerdrag gesture over the onscreen keyboard (FIG. 7B). In some embodiments,a two-finger drag gesture that starts outside of the onscreen keyboardand enters the onscreen keyboard through movement of the finger contactssatisfies the criteria for entering the text selection mode (FIGS. 7Aand 7B). In some embodiments, after entering the onscreen keyboard, aslong as the two-finger gesture is confined within the onscreen keyboard,the criteria for entering the text selection mode are satisfied.

In accordance with a determination that the touch input satisfies theone or more criteria for entering the text selection mode, the deviceconcurrently displays (1014), in the content presentation region 902, afirst cursor (e.g., ghost cursor 922-2, FIG. 9B) at a first location anda second cursor (e.g., floating cursor 922-1, FIG. 9B) at a secondlocation that is different from the first location. In some embodiments,the second cursor 922-1 is a cursor that moves across thetouch-sensitive display in accordance with the movement of one or morefinger contacts in the touch input (FIGS. 9C-9E). In some embodiments,the first cursor 922-2 is a ghost cursor that indicates where the cursorwill be located after the lift-off of the finger contact (FIGS. 9C-9E).

In some embodiments, the electronic device has (1016) one or moresensors to detect intensity of contacts with the touch-sensitivedisplay, the touch input on the touch-sensitive display includes aninput by a contact on the onscreen keyboard, and the one or morecriteria for entering the text selection mode include the contact on theonscreen keyboard having an intensity that exceeds a predetermined deeppress intensity threshold (FIG. 9B). In some embodiments, determiningwhether the touch input satisfies the one or more criteria for enteringthe text selection mode includes determining whether the touch input onthe touch-sensitive display includes a press input by finger contact 924over the onscreen keyboard 921, and the press input by finger contact924 has a contact intensity that exceeds a predetermined deep pressintensity threshold IT_(D) (FIG. 9B).

In some embodiments, in accordance with the determination that the touchinput satisfies the one or more criteria for entering the text selectionmode, the device visually obscures (1018) keys on the onscreen keyboard(FIG. 9B). In some embodiments, visually obscuring the keys on theonscreen keyboard includes (1020) applying a blurring effect to theonscreen keyboard (FIG. 9B). As shown in FIG. 9B, by applying a blurringeffect to the keyboard, the keys on the keyboard become fuzzy andindiscernible. In some embodiments, visually obscuring the keys on theonscreen keyboard includes (1022) transforming the onscreen keyboardinto an onscreen touchpad (FIGS. 9B-9D). In some embodiments, visuallyobscuring the keys on the onscreen keyboard includes (1024) making theonscreen keyboard semitransparent to partially reveal content lyingunderneath the onscreen keyboard (FIGS. 9B-9D).

In some embodiments, the second location 922-1 (FIG. 9B) is (1026) basedon a location of an initial contact in the touch input, and the firstlocation is a permitted insertion position in the content presentationregion that is based on the second location. In some embodiments, theinitial location of a finger contact 924 on the touch screen display 112determines the initial position of the second cursor. For example, ifthe initial location of the finger contact is on the left portion of thetouch screen display 112, the second cursor 922-1 will be displayed at acorresponding location on the left portion of the content presentationregion (FIG. 9L). Conversely, as shown in FIG. 9B, when the initiallocation of the finger contact 924 is on the right portion of the touchscreen display 112, the second cursor 922-1 will be displayed at acorresponding location on the right portion of the content presentationregion 902 (FIG. 9B).

In some embodiments, once the initial position of the second cursor(e.g., floating cursor 922-1, FIG. 9B) is determined based on theinitial position of the finger contact, the initial position of thefirst cursor (e.g., ghost cursor 922-2, FIG. 9B) is determined based onthe initial position of the second cursor. In some embodiments, theoriginal text cursor (e.g., cursor 922, FIG. 9A) jumps to the positionof the second cursor (e.g., floating cursor 922-1, FIG. 9B) to serve asthe second cursor, and the first cursor (e.g., ghost cursor 922-2, FIG.9B) is created at the corresponding insertion position (e.g., theposition in the middle of the word “Liberty” marked by the insertionmarker 922 in FIG. 9A) that is associated with the second cursor.

In some embodiments, as shown in FIG. 9B, the first location is (1028)an insertion position at which the first cursor 922-2 is located whenthe touch input is determined to satisfy the one or more criteria forentering the text selection mode, and the second location is displacedfrom the first location by a predetermined offset. For example, theinsertion marker 922 is displayed in the text input (e.g., in the middleof the word “Liberty, FIG. 9A) when the touch input is determined tosatisfy the one or more criteria for entering the text selection mode(FIG. 9B). When it is determined that the touch input satisfies the oneor more criteria for entering the text selection mode, the first cursor(e.g., ghost cursor 922-2) is displayed at the position of the insertionmarker (e.g., in the middle of the word “Liberty, FIG. 9B), and a secondcursor (e.g., floating cursor 922-1) is created and placed near thefirst cursor. When the user subsequently moves the finger contact in thetouch input, the floating cursor is dragged by the finger contact, andthe first cursor moves from permitted insertion location to permittedinsertion location in accordance with the current position of thefloating cursor. In some embodiments, when the touch input is determinedto satisfy the one or more criteria for entering the text selectionmode, an animation is displayed that shows the floating cursor 922-1being peeled off the first cursor 922-2, and floating above the firstcursor 922-2 at a predetermined distance, and the first cursor 922-1takes on an appearance (e.g., grayed) that mimics a shadow or ghost ofthe floating cursor 922-1.

In some embodiments, one of the first and second cursors is (1030)already displayed in the content presentation region 902 before both ofthe first and second cursors are concurrently displayed in the contentpresentation region 902. In some embodiments, the floating cursor 922-1is already displayed when the touch input is determined to satisfy theone or more criteria for entering the text selection mode. In someembodiments, the insertion cursor 922-2 is already displayed when thetouch input is determined to satisfy the one or more criteria forentering the text selection mode.

In some embodiments, the device detects (1032) movement of one or morecontacts of the touch input, and moves (1034) the second cursor (e.g.,the floating cursor 922-1) within the content presentation region inaccordance with the movement of the one or more contacts of the touchinput (e.g., the movement of the floating cursor smoothly follows themovement of a finger contact in terms of speed and direction). In someembodiments, the device moves (1036) the first cursor based on themovement of the second cursor, and movement of the first cursor includesdiscrete movements between permitted insertion positions in the contentpresentation region. For example, when the user moves the finger contactin the touch input (FIGS. 9B-9D), the floating cursor 922-1 is draggedby the finger contact, and the first cursor (e.g., ghost cursor 922-2)moves from permitted insertion location to permitted insertion locationin accordance with the current position of the floating cursor 922-1(e.g., from the middle of the word “Liberty in FIG. 9B to the end of theword “conceived” in FIG. 9C″, then to the middle of the word “created”in FIG. 9D).

In some embodiments, the device detects (1038) a lift-off of the touchinput after detecting the movement of the one or more contacts of thetouch input (FIG. 9E). In response to detecting the lift-off of thetouch input, the device ceases (1040) to display the second cursor.

In some embodiments, in response to detecting the lift-off of the touchinput, the device maintains (1042) display of the first cursor at arespective permitted insertion position reached by the first cursorafter the discrete movements of the first cursor (e.g., the middle ofthe word “created” in FIG. 9D).

In some embodiments, in response to detecting the lift-off of the touchinput, the device ceases (1044) to display the first cursor (FIG. 9E).

In some embodiments, the onscreen keyboard is obscured in accordancewith a determination that the touch input satisfies the one or morecriteria for entering the text selection mode, and in response todetecting the lift-off of the touch input, the device restores (1046)display of the onscreen keyboard (FIG. 9E).

In some embodiments, the device has (1048) one or more sensors to detectintensity of contacts with the touch-sensitive display, and using theone or more sensors, the device detects that an intensity of a contactin the touch input exceeds a predetermined intensity threshold (e.g.,IT_(D)). After detecting that the intensity of the contact in the touchinput exceeds the predetermined intensity threshold, the device detects(1050) movement of the contact in the touch input. In response todetecting the movement of the contact in the touch input, afterdetecting that the intensity of the contact in the touch input exceedsthe predetermined intensity threshold, the device selects (1052) aportion of the text input in accordance with the movement of the contactin the touch input (e.g., selecting “eated” in accordance with thefinger movement 932, FIG. 9F). In some embodiments, the selected portionof the text input begins (1054) at a position of the first cursor (e.g.,between the character “r” and “e” of the word “created”, FIG. 9F), whenthe detected intensity of the contact in the touch input exceeded thepredetermined intensity threshold.

In some embodiments, the device detects (1056) lift-off of the contactin the touch input after selecting the portion of the text input inaccordance with the movement of the contact in the touch input. Inresponse to detecting the lift-off of the contact in the touch input,the device confirms (1058) selection of the portion of the text input(FIG. 9G).

In some embodiments, after selecting the portion of the text input,while the portion of the text input is selected, the device detects(1060) an intensity of the contact in the touch input that exceeds thepredetermined threshold (e.g., IT_(D)). In response to detecting theintensity of the contact in the touch input that exceeds thepredetermined threshold while the portion of the text input is selected,the device clears (1062) selection of the portion of the text input(FIG. 9H).

In some embodiments, after selecting the portion of the text input,while the portion of the text input is selected, the device detects(1064) an intensity of the contact in the touch input that exceeds thepredetermined threshold and that is followed by lift-off of the contactwithout further movement of the contact. In response to detecting theintensity of the contact in the touch input that exceeds thepredetermined threshold and that is followed by lift-off of the contactwithout further movement of the contact, the device confirms (1066)selection of the portion of the text input (FIG. 9I). In someembodiments, in response to detecting the intensity of the contact inthe touch input that exceeds the predetermined threshold and that isfollowed by lift-off of the contact without further movement of thecontact: selection of text is stopped, a selection box is maintained onthe selected portion of the text input, and/or a menu bar is displayedthat shows actions that can be performed on the selected portion of thetext input (e.g., copying, defining, cutting, pasting, etc.).

In some embodiments, after selecting the portion of the text input,while the portion of the text input is selected, the device detects(1068) an intensity of the contact in the touch input that exceeds thepredetermined threshold and that is followed by further movement of thecontact. In response to detecting the intensity of the contact in thetouch input that exceeds the predetermined threshold and that isfollowed by the further movement of the contact, the device clears(1070) selection of the portion of the text input (FIG. 9J). Further, insome embodiments, in response to detecting the intensity of the contactin the touch input that exceeds the predetermined threshold and that isfollowed by the further movement of the contact, the device starts(1072) selection of a new portion of the text input in accordance withthe further movement of the contact (FIG. 9K). In some otherembodiments, instead of starting a new selection, in response todetecting the intensity of the contact in the touch input that exceedsthe predetermined threshold and that is followed by the further movementof the contact, the device moves (1074) the second cursor and the firstcursor within the content presentation region in accordance with thefurther movement of the contact (FIG. 9L).

In some embodiments, the device has one or more sensors to detectintensity of contacts with the touch-sensitive display, and using theone or more sensors, in the text selection mode, the device detects(1076) a first local intensity peak in the touch input followed by asecond local intensity peak in the touch input that both exceed apredetermined intensity threshold (e.g., ITS). In response to detectingthe first local intensity peak followed by the second local intensitypeak that both exceed the predetermined intensity threshold, the deviceselects (1078) a first predetermined unit (e.g., a word as shown in FIG.9M, or a phrase, or a sentence as shown in FIG. 9N) of the text inputaccording to a current location of the first cursor.

In some embodiments, after detecting the first local intensity peakfollowed by the second local intensity peak, the device detects (1080) athird consecutive local intensity peak in the touch input that exceedsthe predetermined intensity threshold (e.g., a triple deep press). Inresponse to detecting the three consecutive local intensity peaks in thetouch input that all exceed the predetermined deep press intensitythreshold, the device selects (1082) a second predetermined unit (e.g.,a sentence, FIG. 9N) of the text input that is larger than and includesthe first predetermined unit (e.g., a word, FIG. 9M) of the text input.

It should be understood that the particular order in which theoperations in FIGS. 10A-10G have been described is merely exemplary andis not intended to indicate that the described order is the only orderin which the operations could be performed. One of ordinary skill in theart would recognize various ways to reorder the operations describedherein. Additionally, it should be noted that details of other processesdescribed herein with respect to other methods described herein (e.g.,methods 400 and 1100) are also applicable in an analogous manner tomethod 1000 described above with respect to FIGS. 10A-10G. For example,the contacts, gestures, user interface objects, intensity thresholds,and/or animations described above with reference to method 1000optionally have one or more of the characteristics of the contacts,gestures, user interface objects, intensity thresholds, and/oranimations described herein with reference to other methods describedherein (e.g., methods 400 and 1100). For brevity, these details are notrepeated here.

FIGS. 11A-11F illustrate a flow diagram of a method 1100 of selectingcontent in accordance with some embodiments. The method 1100 isperformed at (1102) an electronic device (e.g., portable multifunctiondevice 100, FIG. 1A) with one or more processors, memory, atouch-sensitive surface, a display, and one or more sensors to detectintensity of contacts with the touch-sensitive surface. In someembodiments, the display is a touch-screen display and thetouch-sensitive surface is on or integrated with the display. In someembodiments, the display is separate from the touch-sensitive surface.Some operations in method 1100 are, optionally, combined and/or theorder of some operations is, optionally, changed.

As described below, the method 1100 provides an efficient way to selectcontent with press and movement inputs by a single continuous contact onthe touch-sensitive surface, thereby creating a more efficienthuman-machine interface. For battery-operated electronic devices,enabling a user to select content faster and more efficiently conservespower and increases the time between battery charges.

While a contact (e.g., a finger contact or a stylus contact) is detectedon the touch-sensitive surface, the device concurrently displays (1104)on the display content (e.g., editable content in FIGS. 9A-9X and/orread-only content in FIGS. 9Y-9AD) and a text selection indicator at afirst location within the content.

In some embodiments, the text selection indicator is a cursor (e.g.,cursor 922) that moves within editable content (FIGS. 9O-9R). In someembodiments, the text selection indicator is a selection box or otherarea that encloses selected content for read-only content (e.g.,selection box 929, FIG. 9Z-9AD). In some embodiments, the text selectionindicator indicates the starting location of content selection when nocontent is currently selected (FIG. 9P), and indicates the end locationof the currently selected content as a result of contact movement in acontent selection mode. In some embodiments, the selection box has astarting edge that indicates the starting location of the selectedcontent, and an end edge that indicates the end location of the selectedcontent (e.g., FIGS. 9S and 9Z). In some embodiments, the cursor movesone character at a time (FIGS. 9P-9R). In some embodiments, theselection box expands or contracts one word at a time (e.g., selectionof read-only content by selection box 929, FIGS. 9Z-9AA). In someembodiments, the selection box selects at least one word at any giventime (e.g., selection of read-only content, FIG. 9Z). In someembodiments, a magnifying loupe (e.g., 908 in FIG. 9P) is displayed withthe cursor and shows a magnified version of the cursor and surroundingcontent. In some embodiments, a magnifying loupe is displayed with theselection box and shows a magnified version of the selection box andsurrounding content (e.g., 952 in FIG. 9S).

The device detects (1106) a first press input by the contact followed bymovement of the contact across the touch-sensitive surface thatcorresponds to movement of at least a portion of the text selectionindicator from the first location to a second location on the display(e.g., moving a cursor to the second location on the display or movingan edge of a selection box to the second location on the display, wherethe edge of the selection box corresponds to one end of the selectedcontent). In some embodiments, the device detects the first press inputand the subsequent movement by detecting an increase in intensity of thecontact above a predetermined intensity threshold (e.g., a deep pressintensity threshold IT_(D)), followed by detecting a decrease inintensity of the contact to an intensity that remains above apredetermined minimum intensity value (e.g., a light press intensitythreshold or a contact detection threshold). For example, as shown inFIG. 9AA, after applying a deep press using contact 927 at time T₁, theuser may ease the contact intensity on the touch-sensitive surfaceduring movement of the contact, as long as a the contact intensity ismaintained above a predetermined minimum value, such as the light pressthreshold intensity IT_(L), or the contact detection threshold IT₀.

In response to detecting the first press input by the contact followedby movement of the contact across the touch-sensitive surface, thedevice selects (1110) content between the first location and the secondlocation (e.g., selecting content for an editing operation, such ascopying). In some embodiments, the selected content (e.g., editable textor read-only text) is enclosed by a highlighted area (e.g., area 928 inFIG. 9S or area 929 in FIG. 9AA) that starts at the first location(e.g., 926 in FIG. 9S) and ends at the second location (e.g., 930 inFIG. 9S). In some embodiments, the selected content is enclosed by theselection box that encloses a word at the first location and a word atthe second location and every word in between (FIG. 9AA). In someembodiments, the first location corresponds to the location of thecontact on the touch-sensitive surface at the time that a first pressinput is received (e.g., in the middle of the word “nation” at time T₃in FIG. 9S), and the second location corresponds to the location of thecontact on the touch-sensitive surface when a second press input isreceived (e.g., in the middle of the word “under” at time T₅ in FIG.9V).

While the content between the first location and the second location isselected (e.g., after moving at least the portion of the text selectionindicator to the second location), the device detects (1112) a secondpress input by the contact on the touch-sensitive surface. For example,as shown in FIG. 9V, the device detects an increase in intensity of thecontact above an intensity threshold, such as a deep press thresholdIT_(D) at time T₅.

In response to detecting the second press input by the contact on thetouch-sensitive surface, the device performs (1114) a text selectionoperation, associated with the content between the first location andthe second location, in accordance with the second press input. In someembodiments, the contact in the first press input, the movement acrossthe touch-sensitive surface, and the second press input is a singlecontinuous contact with the touch-sensitive surface (e.g., contact 924,contact 925, or contact 927).

In some embodiments, in response to detecting the first press input bythe contact followed by movement of the contact across thetouch-sensitive surface: the device displays (1116) at least the portionof the text selection indicator at the second location within thecontent. For example, the device displays a cursor at the secondlocation on the display (FIG. 9U) or displays an edge of a selection boxat the second location on the display (FIG. 9AA), where the edge of theselection box corresponds to one end of the selected content. In someembodiments, the current location of the cursor corresponds to thecurrent location of the contact on the touch-sensitive surface duringthe movement of the contact on the touch-sensitive surface.

In some embodiments, the text selection operation includes (1118)stopping selection of content at the second location and maintainingselection of the content between the first location and the secondlocation (e.g., FIG. 9V).

In some embodiments, after detecting the second press input and whilethe content between the first location and the second location remainsselected, the device detects (1120) lift-off of the contact, and inresponse to detecting the lift-off of the contact, the device displaysan action menu. For example, after detecting the second press input at alocation on the touch-sensitive surface that corresponds to the secondlocation on the display (e.g., in the middle of the word “under”), thedevice detects lift-off of the contact from that location on thetouch-sensitive surface without detecting further movement of thecontact. In response, the device displays an action menu bar 940 orother area that shows actions that can be performed on the selectedportion of the text input (e.g., copying, defining, cutting, pasting,etc.) for the selected content between the first location and the secondlocation.

In some embodiments, after detecting the second press input by thecontact on the touch-sensitive surface and stopping the selection of thecontent at the second location, the device detects (1124) furthermovement of the contact. In response to detecting the further movementof the contact, the device displays at least a portion of the textselection indicator at a third location within the content. For example,in FIG. 9W, after detecting the second press input at a location on thetouch-sensitive surface that corresponds to the second location on thedisplay (e.g., in FIG. 9V, the press input at T₅ at a location on thetouch-sensitive surface that corresponds to the middle of the word“under” on the display), the device detects further movement of thecontact from that location on the touch-sensitive surface to anotherlocation on the touch-sensitive surface (e.g., in FIG. 9W, to a locationon the touch-sensitive surface that corresponds to the middle of theword “of” at T₆). In response, the device moves the cursor 922 or anedge of the selection box to the third location (e.g., to the middle ofthe word “of” in FIG. 9W) in accordance with the movement of the contacton the touch-sensitive surface.

In some embodiments, in response to detecting the further movement ofthe contact, the device cancels (1126) selection of content between thefirst location and the second location without selecting content betweenthe second location and the third location (FIG. 9W).

In some embodiments, the text selection operation includes (1128)cancelling selection of content between the first location and thesecond location (FIG. 9AB).

In some embodiments, after detecting the second press input by thecontact on the touch-sensitive surface and canceling the selection ofcontent between the first location and the second location, the devicedetects (1130) further movement of the contact. In response to detectingthe further movement of the contact, the device selects content betweenthe second location and a third location (FIGS. 9AB-9AC).

In some embodiments, while the content between the second location andthe third location is selected, the device detects (1132) lift-off ofthe contact (e.g., without detecting further movement of the contact).In response to detecting the lift-off of the contact while the contentbetween the second location and the third location is selected, thedevice stops selection of the content at the third location andmaintains selection of the content between the second location and thethird location (as shown in FIGS. 9AC-9AD).

In some embodiments, before displaying the text selection indicator atthe first location within the content, the device detects (1134) aninitial press input by the contact on the touch-sensitive surface. Inresponse to detecting the initial press input, the device displays thetext selection indicator at an initial location within the content thatcorresponds to a location of the initial press input on thetouch-sensitive surface. In some embodiments, the initial press input is(1136) detected at a location on the touch-sensitive surface thatcorresponds to a location of the content on the display. When theinitial press input is detected at a location that corresponds to thefirst location within the content, the text selection indicator (e.g.the cursor 922) is displayed at the first location within the content.If the initial press input is detected at a location that does notcorrespond to the first location within the content, the text selectionindicator is displayed at the first location within the content when thecontact, after making the initial press input, moves to a location onthe touch-sensitive surface that corresponds to the first location. Forexample, for a “first location” of position marker 945 in FIG. 9R (whichcorresponds to cursor 922) between the letters “n” and “a” in “nation,”the position marker was moved to this location after the initial pressinput shown in FIG. 9Q placed position marker 945 between the letters“r” and “o” in “from.”

In some embodiments, the display is a touch-sensitive display thatincludes the touch-sensitive surface, and the device concurrentlydisplays (1138), on the touch-sensitive display, the content and anonscreen keyboard. In some embodiments, the initial press input isdetected on the onscreen keyboard (FIG. 9A).

In some embodiments, the display is a touch-sensitive display thatincludes the touch-sensitive surface, and the device concurrentlydisplays (1140), on the touch-sensitive display, the content and anonscreen keyboard. Before displaying the text selection indicator at thefirst location within the content, the device detects (1142) amulti-contact drag input (e.g., a two-finger drag input as shown in FIG.7B) on the onscreen keyboard. In response to detecting the multi-contactdrag input on the onscreen keyboard, the device displays the textselection indicator at an initial location within the content based on alocation of the multi-contact drag input on the onscreen keyboard. Insome embodiments, as shown in FIG. 7B, the multi-contact drag input isdetected on the onscreen keyboard, the keyboard is converted to avirtual trackpad as described with respect to FIG. 9B, and the textselection indicator is displayed. Subsequent movement of the contact(s)in the multi-contact drag input on the virtual trackpad moves the textselection indicator within the content.

In some embodiments, the content includes (1144) editable content andthe text selection indicator includes a cursor (FIG. 9A). In suchembodiments, the device displays (1146) a magnifying loupe that displaysa magnified version of the cursor and a region surrounding the cursor inresponse to a deep press, as shown in FIG. 9Q. Further, when selectingthe content between the first location and the second location, thedevice moves (1148) the cursor one character space at a time in responseto detecting the movement of the contact across the touch-sensitivesurface and selects one additional character at a time in accordancewith the movement of the cursor (FIG. 9S).

In some embodiments, the content includes (1150) read-only content andthe text selection indicator includes a selection area (e.g., arectangular selection box 929, FIG. 9Z). In such embodiments, displayingthe text selection indicator at the first location includes displaying afirst word (e.g., “Translation” in FIG. 9Z) located at the firstlocation within the selection area. When selecting the read-only contentbetween the first location and the second location, the device expands(1152) the selection area one word at a time in accordance with themovement of the contact across the touch-sensitive surface and selectsone additional word at a time in accordance with the expansion of theselection area (e.g., “Translation: A U.S. Gift” in selection area 929in FIG. 9AA). In some embodiments, the device displays (1154) amagnifying loupe that displays a magnified version of the selection areaand a region surrounding the selection area.

In some embodiments, the device foregoes (1156) performing the textselection operation, in response to detecting the second press input, inaccordance with a determination that the second press input isaccompanied by simultaneous movement of the contact across thetouch-sensitive surface. For example, the text selection operation isnot performed when the device detects the second press input accompaniedby simultaneous movement of the contact. In other words, movementcancels the operation that is typically triggered by the second pressinput.

In some embodiments, when the text is editable text, the text selectionindicator is a cursor and selecting content between the first locationand the second location includes (1158) expanding the selectioncharacter-by-character in accordance with movement of the contact on thetouch-sensitive surface (FIG. 9S); and when the text is non-editabletext, the text selection indicator is a selection region that initiallyencompasses a single word and selecting content between the firstlocation and the second location includes expanding the selectionword-by-word in accordance with movement of the contact on thetouch-sensitive surface (FIG. 9AA).

It should be understood that the particular order in which theoperations in FIGS. 11A-11F have been described is merely exemplary andis not intended to indicate that the described order is the only orderin which the operations could be performed. One of ordinary skill in theart would recognize various ways to reorder the operations describedherein. Additionally, it should be noted that details of other processesdescribed herein with respect to other methods described herein (e.g.,methods 400 and 1000) are also applicable in an analogous manner tomethod 1100 described above with respect to FIGS. 11A-11F. For example,the contacts, gestures, user interface objects, intensity thresholds,and/or animations described above with reference to method 1100optionally have one or more of the characteristics of the contacts,gestures, user interface objects, intensity thresholds, and/oranimations described herein with reference to other methods describedherein (e.g., methods 400 and 1000). For brevity, these details are notrepeated here.

In accordance with some embodiments, FIG. 12 shows a functional blockdiagram of an electronic device 1200 configured in accordance with theprinciples of the invention as described above. The functional blocks ofthe device may be implemented by hardware, software, or a combination ofhardware and software to carry out the principles of the invention. Itis understood by persons of skill in the art that the functional blocksdescribed in FIG. 12 may be combined or separated into sub-blocks toimplement the principles of the invention as described above. Therefore,the description herein may support any possible combination orseparation or further definition of the functional blocks describedherein.

In some embodiments, the electronic device 1200 includes a display unit1202 configured to concurrently display an onscreen keyboard and acontent presentation region on the display unit 1202, wherein thecontent presentation region displays text input received from theonscreen keyboard; a touch-sensitive surface unit 1204 configured toreceive user touch inputs; one or more sensor units 1206 to detectintensity of contacts with the touch-sensitive surface unit 1204; and aprocessing unit 1208 coupled to the display unit 1202, thetouch-sensitive surface unit 1204, and the one or more sensor units1206. In some embodiments, the processing unit 1208 includes a detectingunit 1210, a determining unit 1216, an obscuring unit 1218, a movingunit 1214, and a selecting unit 1212.

The processing unit 1208 is configured to: detect a touch input on theonscreen keyboard displayed on the touch-sensitive surface unit 1204(e.g., with the detecting unit 1210); in response to detecting the touchinput on the onscreen keyboard displayed on the display unit 1202,determine whether the touch input satisfies one or more criteria forentering a text selection mode (e.g., with the determining unit 1216);and in accordance with a determination that the touch input satisfiesthe one or more criteria for entering the text selection mode:concurrently display (e.g., with the displaying unit 1202), in thecontent presentation region, a first cursor at a first location and asecond cursor at a second location that is different from the firstlocation.

In some embodiments, the one or more criteria for entering the textselection mode include the touch input including a two-finger draggesture over the onscreen keyboard.

In some embodiments, the device has one or more sensor units 1206 todetect intensity of contacts with the touch-sensitive display; the touchinput on the touch-sensitive display includes an input by a contact onthe onscreen keyboard, and the one or more criteria for entering thetext selection mode include the contact on the onscreen keyboard havingan intensity that exceeds a predetermined deep press intensitythreshold.

In some embodiments, the processing unit 1208 is configured to: inaccordance with the determination that the touch input satisfies the oneor more criteria for entering the text selection mode: visually obscurekeys on the onscreen keyboard (e.g., with the obscuring unit 1218).

In some embodiments, visually obscuring the keys on the onscreenkeyboard includes applying a blurring effect to the onscreen keyboard(e.g., with the display unit 1202).

In some embodiments, visually obscuring the keys on the onscreenkeyboard includes transforming the onscreen keyboard into an onscreentouchpad (e.g., with the display unit 1202).

In some embodiments, visually obscuring the keys on the onscreenkeyboard includes making the onscreen keyboard semitransparent topartially reveal content lying underneath the onscreen keyboard (e.g.,with the display unit 1202).

In some embodiments, the second location is based on a location of aninitial contact in the touch input; and the first location is apermitted insertion position in the content presentation region that isbased on the second location.

In some embodiments, the first location is an insertion position atwhich the first cursor is located when the touch input is determined tosatisfy the one or more criteria for entering the text selection mode;and the second location is displaced from the first location by apredetermined offset.

In some embodiments, one of the first and second cursors is alreadydisplayed in the content presentation region before both of the firstand second cursors are concurrently displayed in the contentpresentation region.

In some embodiments, the processing unit 1208 is further configured to:detect movement of one or more contacts of the touch input (e.g., withthe detecting unit 1210); and move the second cursor within the contentpresentation region in accordance with the movement of the one or morecontacts of the touch input (e.g., with the moving unit 1214).

In some embodiments, the processing unit 1208 is further configured to:move the first cursor based on the movement of the second cursor,wherein movement of the first cursor includes discrete movements betweenpermitted insertion positions in the content presentation region (e.g.,with the moving unit 1214).

In some embodiments, the processing unit 1208 is further configured to:detect a lift-off of the touch input after detecting the movement of theone or more contacts of the touch input (e.g., with the detecting unit1210); and in response to detecting the lift-off of the touch input:cease to display the second cursor (e.g., with the display unit 1202).

In some embodiments, the processing unit 1208 is further configured to:in response to detecting the lift-off of the touch input, maintaindisplay of the first cursor at a respective permitted insertion positionreached by the first cursor after the discrete movements of the firstcursor (e.g., with the display unit 1202).

In some embodiments, the processing unit 1208 is further configured to:in response to detecting the lift-off of the touch input, cease todisplay the first cursor (e.g., with the display unit 1202).

In some embodiments, the onscreen keyboard is obscured in accordancewith the determination that the touch input satisfies the one or morecriteria for entering the text selection mode, and the processing unit1208 is further configured to: in response to detecting the lift-off ofthe touch input, restore display of the onscreen keyboard (e.g., withthe display unit 1202).

In some embodiments, the device has one or more sensor units 1206 todetect intensity of contacts with the touch-sensitive surface unit 1204,and the processing unit 1208 is further configured to: in the textselection mode, detect that an intensity of a contact in the touch inputexceeds a predetermined intensity threshold (e.g., with the detectingunit 1210); after detecting that the intensity of the contact in thetouch input exceeds the predetermined intensity threshold, detectmovement of the contact in the touch input (e.g., with the detectingunit 1210); in response to detecting the movement of the contact in thetouch input, after detecting that the intensity of the contact in thetouch input exceeds the predetermined intensity threshold: select aportion of the text input in accordance with the movement of the contactin the touch input (e.g., with the selecting unit 1212).

In some embodiments, the selected portion of the text input begins at aposition of the first cursor when the detected intensity of the contactin the touch input exceeded the predetermined intensity threshold.

In some embodiments, the processing unit 1208 is further configured to:detect lift-off of the contact in the touch input after selecting theportion of the text input in accordance with the movement of the contactin the touch input (e.g., with the detecting unit 1210); and, inresponse to detecting the lift-off of the contact in the touch input,confirm selection of the portion of the text input (e.g., with theselecting unit 1212).

In some embodiments, the processing unit 1208 is further configured to:after selecting the portion of the text input, while the portion of thetext input is selected, detect an intensity of the contact in the touchinput that exceeds the predetermined threshold (e.g., with the detectingunit 1210); and, in response to detecting the intensity of the contactin the touch input that exceeds the predetermined threshold while theportion of the text input is selected, clear selection of the portion ofthe text input (e.g., with the selecting unit 1212).

In some embodiments, the processing unit 1208 is further configured to:after selecting the portion of the text input, while the portion of thetext input is selected, detect an intensity of the contact in the touchinput that exceeds the predetermined threshold and that is followed bylift-off of the contact without further movement of the contact (e.g.,with the detecting unit 1210); and, in response to detecting theintensity of the contact in the touch input that exceeds thepredetermined threshold and that is followed by lift-off of the contactwithout further movement of the contact, confirm selection of theportion of the text input (e.g., with the selecting unit 1212).

In some embodiments, the processing unit 1208 is further configured to:after selecting the portion of the text input, while the portion of thetext input is selected, detect an intensity of the contact in the touchinput that exceeds the predetermined threshold and that is followed byfurther movement of the contact (e.g., with the detecting unit 1210);and, in response to detecting the intensity of the contact in the touchinput that exceeds the predetermined threshold and that is followed bythe further movement of the contact: clear selection of the portion ofthe text input (e.g., with the selecting unit 1212).

In some embodiments, the processing unit 1208 is further configured to:in response to detecting the intensity of the contact in the touch inputthat exceeds the predetermined threshold and that is followed by thefurther movement of the contact: start selection of a new portion of thetext input in accordance with the further movement of the contact (e.g.,with the selecting unit 1212).

In some embodiments, the processing unit 1208 is further configured to:in response to detecting the intensity of the contact in the touch inputthat exceeds the predetermined threshold and that is followed by thefurther movement of the contact: further move the second cursor and thefirst cursor within the content presentation region in accordance withthe further movement of the contact (e.g., with the moving unit 1214).

In some embodiments, the device has one or more sensor units (1206) todetect intensity of contacts with the touch-sensitive display, and theprocessing unit 1208 is further configured to: in the text selectionmode, detect a first local intensity peak in the touch input followed bya second local intensity peak in the touch input that both exceed apredetermined intensity threshold (e.g., with the detecting unit 1210);and, in response to detecting the first local intensity peak followed bythe second local intensity peak that both exceed the predeterminedintensity threshold, select a first predetermined unit of the text inputaccording to a current location of the first cursor (e.g., with theselecting unit 1212).

In some embodiments, the processing unit 1208 is further configured to:after detecting the first local intensity peak followed by the secondlocal intensity peak, detect a third consecutive local intensity peak inthe touch input that exceeds the predetermined intensity threshold(e.g., with the detecting unit 1210); and in response to detecting thethree consecutive local intensity peaks in the touch input that allexceed the predetermined deep press intensity threshold, select a secondpredetermined unit of the text input that is larger than and includesthe first predetermined unit of the text input (e.g., with the selectingunit 1212).

In some embodiments, the electronic device 1200 includes a display unit1202 configured to, while a contact is detected on the touch-sensitivesurface unit 1204, concurrently display on the display unit 1202 contentand a text selection indicator at a first location within the content; atouch-sensitive surface unit 1204 configured to receive user contacts;one or more sensor units 1206 to detect intensity of contacts with thetouch-sensitive surface unit 1204; and a processing unit 1208 coupled tothe display unit 1202, the touch-sensitive surface unit 1204, and theone or more sensor units 1206. In some embodiments, the processing unit1208 includes a detecting unit 1210, a determining unit 1216, anobscuring unit 1218, a moving unit 1214, and a selecting unit 1212.

The processing unit 1208 is configured to: detect a first press input bythe contact followed by movement of the contact across thetouch-sensitive surface unit 1204 that corresponds to movement of atleast a portion of the text selection indicator from the first locationto a second location on the display unit 1202 (e.g., with the detectingunit 1210); in response to detecting the first press input by thecontact followed by movement of the contact across the touch-sensitivesurface unit 1204, select content between the first location and thesecond location (e.g., with the selecting unit 1212); while the contentbetween the first location and the second location is selected, detect asecond press input by the contact on the touch-sensitive surface unit1204 (e.g., with the detecting unit 1210); in response to detecting thesecond press input by the contact on the touch-sensitive surface unit,perform a text selection operation, associated with the content betweenthe first location and the second location, in accordance with thesecond press input, wherein the contact in the first press input, themovement across the touch-sensitive surface unit 1204, and the secondpress input is a single continuous contact with the touch-sensitivesurface unit 1204 (e.g., with the selecting unit 1212).

In some embodiments, detecting the first press input by the contactfollowed by movement of the contact across the touch-sensitive surfaceunit 1204 includes: detecting an increase in intensity of the contactabove a predetermined intensity threshold followed by detecting adecrease in intensity of the contact to an intensity that remains abovea predetermined minimum intensity value (e.g., with the detecting unit1210).

In some embodiments, the processing unit 1208 is configured to: inresponse to detecting the first press input by the contact followed bymovement of the contact across the touch-sensitive surface unit 1204:display at least the portion of the text selection indicator at thesecond location within the content (e.g., with the display unit 1202).

In some embodiments, wherein the text selection operation includesstopping selection of content at the second location and maintainingselection of the content between the first location and the secondlocation (e.g., with the selecting unit 1212).

In some embodiments, the processing unit 1208 is configured to: afterdetecting the second press input and while the content between the firstlocation and the second location remains selected, detect lift-off ofthe contact (e.g., with the detecting unit 1210); and in response todetecting the lift-off of the contact, display an action menu for theselected content between the first location and the second location(e.g., with the display unit 1202).

In some embodiments, the processing unit 1208 is configured to: afterdetecting the second press input by the contact on the touch-sensitivesurface unit 1204 and stopping the selection of the content at thesecond location, detect further movement of the contact (e.g., with thedetecting unit 1210); and in response to detecting the further movementof the contact, display at least a portion of the text selectionindicator at a third location within the content (e.g., with the displayunit 1202).

In some embodiments, the processing unit 1208 is configured to: inresponse to detecting the further movement of the contact, cancelselection of content between the first location and the second locationwithout selecting content between the second location and the thirdlocation (e.g., with the selecting unit 1212).

In some embodiments, the text selection operation includes cancellingselection of content between the first location and the second location.

In some embodiments, the processing unit 1208 is configured to: afterdetecting the second press input by the contact on the touch-sensitivesurface unit and canceling the selection of content between the firstlocation and the second location, detect further movement of the contact(e.g., with the detecting unit 1210); and, in response to detecting thefurther movement of the contact, select content between the secondlocation and a third location (e.g., with the selecting unit 1212).

In some embodiments, the processing unit 1208 is configured to: whilethe content between the second location and the third location isselected, detect lift-off of the contact (e.g., with the detecting unit1210); and, in response to detecting the lift-off of the contact whilethe content between the second location and the third location isselected, stop selection of the content at the third location andmaintaining selection of the content between the second location and thethird location (e.g., with the selecting unit 1212).

In some embodiments, the processing unit 1208 is configured to: beforedisplaying the text selection indicator at the first location within thecontent, detect an initial press input by the contact on thetouch-sensitive surface unit 1204 (e.g., with the detecting unit 1210);and in response to detecting the initial press input, enable display ofthe text selection indicator at an initial location within the contentthat corresponds to a location of the initial press input on thetouch-sensitive surface unit 1204.

In some embodiments, the display unit 1202 is a touch-sensitive displaythat includes the touch-sensitive surface unit 1204, and the processingunit 1208 is configured to: concurrently display, on the touch-sensitivedisplay, the content and an onscreen keyboard, wherein the initial pressinput is detected on the onscreen keyboard.

In some embodiments, the initial press input is detected at a locationon the touch-sensitive surface unit 1204 that corresponds to a locationof the content on the display unit 1202.

In some embodiments, the display unit 1202 is a touch-sensitive displaythat includes the touch-sensitive surface unit 1204, and the processingunit 1208 is configured to: concurrently enable display of, on thetouch-sensitive display, the content and an onscreen keyboard; beforedisplaying the text selection indicator at the first location within thecontent, detect a multi-contact drag input on the onscreen keyboard(e.g., with the detecting unit 1210); and, in response to detecting themulti-contact drag input on the onscreen keyboard, enable display of thetext selection indicator at an initial location within the content basedon a location of the multi-contact drag input on the onscreen keyboard.

In some embodiments, the content includes editable content and the textselection indicator includes a cursor.

In some embodiments, the processing unit 1208 is configured to: enabledisplay of a magnifying loupe that displays a magnified version of thecursor and a region surrounding the cursor.

In some embodiments, selecting the content between the first locationand the second location includes: moving the cursor one character spaceat a time in response to detecting the movement of the contact acrossthe touch-sensitive surface unit 1204 (e.g., with the moving unit 1214);and selecting one additional character at a time in accordance with themovement of the cursor (e.g., with the selecting unit 1212).

In some embodiments, the content includes read-only content and the textselection indicator includes a selection area; and displaying the textselection indicator at the first location includes displaying a firstword located at the first location within the selection area (e.g., withthe display unit 1202).

In some embodiments, the processing unit 1208 is configured to: enabledisplay of a magnifying loupe that displays a magnified version of theselection area and a region surrounding the selection area.

In some embodiments, selecting the content between the first locationand the second location includes: expanding the selection area one wordat a time in accordance with the movement of the contact across thetouch-sensitive surface unit 1204 (e.g., with the selecting unit 1212);and selecting one additional word at a time in accordance with theexpansion of the selection area (e.g., with the selecting unit 1212).

In some embodiments, the processing unit 1208 is configured to: foregoperforming the text selection operation, in response to detecting thesecond press input, in accordance with a determination that the secondpress input is accompanied by simultaneous movement of the contactacross the touch-sensitive surface unit 1204.

In some embodiments, when the text is editable text, the text selectionindicator is a cursor and selecting content between the first locationand the second location includes expanding the selectioncharacter-by-character in accordance with movement of the contact on thetouch-sensitive surface unit 1204 (e.g., with the selecting unit 1212);and when the text is non-editable text, the text selection indicator isa selection region that initially encompasses a single word andselecting content between the first location and the second locationincludes expanding the selection word-by-word in accordance withmovement of the contact on the touch-sensitive surface unit 1204 (e.g.,with the selecting unit 1212).

Turning to FIGS. 13A-13Q, these figures illustrate exemplary userinterfaces for selecting content, moving a text selection indicator, andchanging keyboard appearance based on contact intensity (e.g.,pressure), in accordance with some embodiments. The user interfaces inthese figures are used to illustrate the processes described below withrespect to FIGS. 14A-14H. FIGS. 13A-13Q include intensity versus timediagrams that show the variations of a characteristic intensity of thecontact on the touch-sensitive surface relative to a plurality ofintensity thresholds (e.g., “IT_(D)”, “IT_(L)”, and “IT₀”).

In FIG. 13A, editable content 1300 is displayed in a contentpresentation region 1302 while an application is in a document editingmode. The application runs on a device 100 that has one or more sensors(e.g., contact intensity sensor(s) 259, FIG. 2B) to detect intensity ofcontacts with the touch-sensitive display. In the document editing mode,an onscreen keyboard 1321 is displayed for text inputs. A user may entertext by touch inputs (e.g., by contact) on the onscreen keyboard 1321and confirm completion of the editing by performing another touch input(e.g., a tap on “done” button) to exit the editing mode. An insertionmarker (e.g., cursor 1322) is displayed to indicate a current locationfor text inputs.

When entering text into the content region 1302, a character can beentered upon detecting a touchdown or liftoff event. In someembodiments, entering the text into the content region 1302 includesentering a character that corresponds to character key at a location atwhich touchdown of the contact was detected on the onscreen keyboard.For example, touchdown of the finger contact 1324 was detected on thecharacter key “h”. In response to detecting the touchdown, character “h”is entered. In some embodiments, entering the text into the contentregion includes entering a character that corresponds to character keyat a location at which liftoff of the contact was detected on theonscreen keyboard. For example, in response to liftoff of the fingercontact 1324 from character key “h”, character “h” is entered.

In FIG. 13B, at time T₁, while in the editing mode and displaying thekeyboard 1321, the device detects a deep press by a finger contact 1324on the onscreen keyboard 1321, such that the intensity of the pressinput has increased above a text selection intensity threshold (e.g.,IT_(D)) before the movement of the contact is detected. In response todetecting the deep press, the appearance of the keyboard 1321 changes toindicate that the application has entered a text selection mode. In thetext selection mode, the keyboard 1321 is not responsive to keystrokes,but rather serves as an onscreen touchpad or track pad for moving thecursor or selecting content.

In some embodiments, the press input is a stationary press input suchthat there is less than a threshold amount of movement between whentouchdown of the finger contact 1324 is detected on the onscreenkeyboard 1321 and when the increase in the characteristic intensity ofthe contact over the text selection intensity threshold IT_(D) isdetected. In some embodiments, if more than the threshold amount ofmovement is detected, upon liftoff, a character entry operation isperformed based on which character entry key the contact is over whenliftoff of the contact is detected.

As shown in FIG. 13B, in some embodiments, the keys are visuallyobscured. Visually obscuring keys on the keyboard 1321 provides anintuitive indication that the function of the keyboard 1321 has changed.In some embodiments, the onscreen keyboard 1321 is dimmed, faded, orblurred relative to the keyboard 1321 shown in FIG. 13A prior todetecting the deep press, such that the keys are no longer visible orclearly displayed as before. In some embodiments, as shown in FIG. 13B,an indication of a location of the keys is maintained while theappearance of the characters is obscured (e.g., by maintaining displayof the shapes of some or all of the keys on the keyboard while removingor blurring the characters on the key caps) and three-dimensionalcharacteristics (e.g., a three-dimensional shape, drop shadow, etc.) ofsome or all of the keys are no longer visible. In some embodiments, thekeyboard 1321 becomes semitransparent, to reveal content lyingunderneath the keyboard.

When the keyboard 1321 serves as an onscreen touch pad or track pad, inresponse to detecting finger movement 1332 started on the keyboard 1321,text selection operations such as moving the cursor 1322 as shown inFIG. 13B within the content region 1302 or selecting text within thecontent region 1302 as shown in FIGS. 13D-13Q are performed. Forexample, after entering the text selection mode, upon detecting movementof the finger contact 1324 along a path 1332, which started from thekeyboard region 1321, extended to the content region 1302, and returnedback to the keyboard region 1321, the cursor 1322 is moved along asimilar path in accordance with the movement of the finger contact 1324.In some embodiments, in response to detecting movement of the contactafter the touch input has satisfied the text selection criteria, insteadof displaying cursor 1322 and cursor movement, a ghost cursor and afloating cursor are displayed, and the floating cursor is moved along asimilar path in accordance with the movement of the finger contact 1324as shown in FIGS. 9B-9D and described in greater detail above.

FIGS. 13C-13Q illustrate a variety of possible text selection behaviorsthat can occur after entering text selection mode (e.g., after time T₁),in accordance with some embodiments.

Turning to FIG. 13C, at the end of the text selection mode (e.g.,detecting liftoff of the contact such that the intensity of the pressinput has fallen to zero), in response to detecting liftoff of thecontact, the device exits the text selection mode of operation. Inconjunction with the end of the text selection mode of operation, thedevice reverses the change in appearance of the onscreen keyboard 1321to reveal the characters on the keys of the onscreen keyboard 1321. Asshown in FIG. 13C, the device reverses a fading or blurring of thekeyboard 1321 to indicate that the device is no longer in the textselection mode of operation. In some embodiments, three-dimensionalcharacteristics (e.g., a three-dimensional shape, drop shadow, etc.) ofsome or all of the keys are restored, and the characters on the key capsare displayed.

In FIG. 13D, continuing the example shown in FIG. 13B, while in the textselection mode, at time T₂, when a cursor is located in the middle ofthe word “imperdiet” (not shown in FIG. 13D), the device detects aportion of the touch input (e.g., a second deep press with the samecontact 1324), such that the touch input satisfies selection-startcriteria, which include a criterion that is met when the characteristicintensity of the contact increases above a selection-start intensitythreshold. In some embodiments, the selection-start intensity thresholdis the same as, greater than, or less than the text selection intensitythreshold (e.g., IT_(D)) before the movement of the contact is detected.For illustration purpose, the selection-start intensity threshold isshown in FIG. 13D as IT_(D).

In response to detecting the second deep press by the same contact onthe onscreen keyboard 1321 at time T₂, the device begins to select aportion of the text input 1328 in accordance with the movement 1332 ofthe contact in the touch input. After time T₂, during the movement 1332,the intensity of the contact can be above or below the selection-startintensity threshold IT_(D). In some embodiments, the text selectionstarts when an increase in intensity of the contact is detected whilethe contact is substantially stationary (e.g., moves not more than athreshold distance within a threshold amount of time before thecharacteristic intensity of the contact increases above theselection-start intensity threshold).

In FIG. 13E, at time T₃, the device detects lift-off of the contact inthe touch input, such that the intensity of the contact is below acontact detection threshold. In response to detecting the lift-off ofthe contact, in some embodiments, the device confirms selection of theportion of the text input 1328. In some embodiments, a selection box1328 (e.g., a grey box) is displayed on the selected portion of the textinput, and/or a menu bar 1340 is displayed that showing actions that canbe performed on the selected portion of the text input (e.g., copying1344, defining, cutting 1342, pasting, etc.). In some embodiments, themenu bar 1340 is displayed in response to a touch input on the selectionbox 1328. Thus, FIGS. 13D and 13E illustrate using a substantiallystationary deep press input by a contact 1324 to initiate text selectionat time T₂, then movement of the contact to select text, followed bylift-off of the contact to confirm the selection at time T₃.

In FIG. 13F, continuing the example shown in FIG. 13D, instead ofdetecting a lift-off of the contact, after time T₂ and while continuingto detect the contact 1324 on the touch-sensitive display 112, thedevice detects a subsequent change in intensity of the contact (e.g. asubstantially stationary deep press with the same contact) at time T₃.Upon detecting the substantially stationary deep press at time T₃, inaccordance with a determination that the change in intensity of thecontact satisfies selection-cancellation criteria, the device cancelsthe selection (e.g., deselecting the selected content and redisplayingthe cursor). In some embodiments, as shown in FIG. 13F, upon theselection cancellation, the cursor 1322 is displayed at the end of theselection (e.g., at the end of the word “enim”). In some embodiments,upon cancelling the selection, the cursor 1322 is displayed at thebeginning of the selection.

In some embodiments, the selection-cancellation criteria include acriterion that is met when the characteristic intensity of the contactincreases above a selection-cancellation intensity threshold (e.g., athreshold that is the same as, greater than, or less than thetext-selection intensity threshold and/or the selection-start intensitythreshold). For illustration purpose, the selection-cancellationintensity threshold shown in FIG. 13F is the same as the text-selectionintensity threshold and the selection-start intensity threshold IT_(D).In some embodiments, the selection-cancellation criteria are met when anincrease in intensity of the contact is detected while the contact issubstantially stationary (e.g., the contact 1324 moves no more than athreshold distance within a threshold amount of time before thecharacteristic intensity of the contact increases above theselection-cancellation intensity threshold).

In FIG. 13G, following the substantially stationary deep press at timeT₃ to cancel the selection and redisplay the cursor at the end of theword “enim”, while continuing to detect the contact on thetouch-sensitive display 112 after time T₃, the device detects asubsequent change in the intensity of the contact at time T₄. Inresponse to detecting the subsequent change in the characteristicintensity of the contact and in accordance with a determination that thetouch input (e.g., the subsequent change in the characteristic intensityof the contact at time T₄) satisfies the selection-start criteriadescribed above with respect to FIG. 13D, the device starts a newselection of content in the content region 1302 in accordance with thefinger movement 1332. The new selection starts at the end of the word“enim”, where the cursor 1332 was located when the deep press wasdetected at time T₄, and expands character by character in accordancewith the finger movement 1332. Thus, FIGS. 13D, 13F, and 13G illustratea first deep press by a contact 1324 to initiate a text selection attime T₂, then movement of the contact 1324 to select text, followed by asecond deep press with the same contact at time T₃ to cancel the textselection and display a cursor at the end of the selection, and a thirddeep press with the same contact at time T₄ to restart a new textselection.

In some embodiments, continuing the example shown in FIG. 13F, the newtext selection includes a selection of a respective word. When the thirdsubsequent change detected at time T₄ includes an increase in thecharacteristic intensity of the contact above the selection-startintensity threshold, a word is selected at the location of the cursor.For example, in FIG. 13F, after the selection cancellation at time T₃,the cursor 1332 is located at the end of the word “enim”. Subsequently,as shown in FIG. 13H, the word “enim” is selected at the location of thecursor in response to detecting a deep press at time T₄.

In FIG. 13H, the deep press by contact 1324 is substantially stationary.Alternatively, in some embodiments, when the third subsequent change inthe touch input includes an increase in the characteristic intensity ofthe contact above the selection-start intensity threshold followed bymovement of the contact, selection is started at the location of thecursor and expanded character by character in accordance with themovement of the contact; and in response to a subsequent increase in thecharacteristic intensity of the contact above a respective intensitythreshold (e.g., the selection-start intensity threshold) within athreshold time, the current selection is expanded to include the entireword that was partially selected during the character-by-characterexpansion.

In FIG. 13I, continuing the example shown in FIG. 13H, while therespective word “enim” is selected, a subsequent finger movement 1332 isdetected after time T₄. In response to detecting the subsequent fingermovement 1332 while the respective word “enim” is selected, inaccordance with a determination that the touch input meetsselection-movement criteria, the selection of the first word “enim” iscanceled, and a second word “imperdiet” is selected that is adjacent tothe first word in a first direction (e.g., before or after therespective word) in accordance with the subsequent finger movement 1332,such that the selected respective word is the second word “imperdiet”.As shown in FIG. 13H, the subsequent finger movement 1332 is moving in aleft/up direction. As a result, the word “imperdiet” that is before theword “enim” is selected. Conversely, in case a right/down fingermovement is detected, a word after the word “enim” is selected.

In some embodiments, the selection-movement criteria include a movementcriterion that is met when the contact moves more than a respectivethreshold amount (e.g., the contact is not substantially stationary andoptionally a respective time criterion that is met when an amount oftime between the third subsequent change in the characteristic intensityof the contact is detected and when the first subsequent movement of thecontact is detected is less than a respective delay threshold). Thus,FIGS. 13H and 13I illustrate selecting a first word, cancels selectionof the first word and selects a second word that is adjacent to a firstword “enim” in a direction in accordance with the finger movement 1332.

In FIG. 13J, continuing the example shown in FIG. 13H, while therespective word “enim” is selected, a subsequent finger movement 1332 isdetected. In response to detecting the subsequent finger movement 1332while the respective word “enim” is selected, in accordance with adetermination that the touch input meets selection-expansion criteria attime T₄, the device expands the selection of the respective word “enim”to include a word “imperdiet” that is adjacent to the word “enim” in adirection of the finger movement 1332 (e.g., before or after therespective word “enim”) without selecting one or more words in therespective sentence “Numc viverra imperdiet enim.” that are adjacent tothe respective word “enim” in the respective sentence in a directionthat is different from the direction of the finger movement 1332. Inother words, the expansion only goes in the direction corresponding tothe finger movement 1332, and does not expand to include words in thereverse direction of the movement (e.g., as distinguished from expansionto select the whole sentence or more described below with respect toFIGS. 13K-13Q). In some embodiments, the selection expansion criteriainclude a criterion that is met when the contact moves more than thethreshold amount (e.g., that the contact has remained stationary for atleast a threshold amount of time prior to detecting the increase inintensity and that the increase in intensity was detected less than athreshold amount of time after detecting the third subsequent change inthe characteristic intensity of the contact). Thus, FIGS. 13H and 13Jillustrate selecting a word “enim” and expanding the selection word byword in a direction in accordance with the finger movement 1332.

In FIG. 13K, continuing the example shown in FIG. 13H, while therespective word “enim” is selected, the device detects anothersubsequent change in the intensity of the contact above a respectiveintensity threshold (e.g., the selection-cancellation intensitythreshold) at time T₅. The touch input 1324 meets selection-cancellationcriteria described above with respect to FIG. 13F, the device cancelsselection of the respective sentence and displays the cursor 1332 at theend of the selection. Thus, FIGS. 13H and 13K illustrate a deep press toselect a word at time T₄ followed by another deep press at time T₅ tocancel the selection.

In FIG. 13L, continuing the example shown in FIG. 13H, while therespective word “enim” is selected, the device detects anothersubsequent change in the intensity of the contact above a respectiveintensity threshold (e.g., the selection-start intensity threshold) attime T₅, such that the touch input 1324 meets sentence-selectioncriteria, e.g., the contact is substantially stationary before (e.g.,just before) the subsequent change in intensity of the contact wasdetected at time T₅ and the amount of time between T₄, when the previoussubsequent change in the characteristic intensity of the contact isdetected, and T₅, when the subsequent change in the characteristicintensity of the contact is detected, is less than a delay threshold. Inresponse to detecting such change in the touch input at time T₅. (e.g.,in response to detecting the subsequent change in the intensity of thecontact at time T₅), the device expands the selection 1328 to includethe (entire) respective sentence “Nunc viverra imperdiet enim.” thatcontains the respective word “enim”. Thus, FIGS. 13H and 13L illustratea deep press at time T₄ to select a word followed by another deep pressat time T₅ within a threshold time and while the contact remainssubstantially stationary, to expand the selection to a sentencecontaining the selected word.

In FIG. 13M, while the respective sentence “Nunc viverra imperdietenim.” is selected, the device detects a subsequent movement of thecontact 1332. In response to detecting the subsequent movement of thecontact 1332 while the respective sentence is selected and in accordancewith a determination that the touch input meets selection-expansioncriteria described above with respect to FIG. 13J, the device expandsthe selection to include a sentence that is adjacent to the respectivesentence in a first direction (e.g., before or after the respectivesentence) in accordance with the subsequent movement of the contact(e.g., the expansion of the selection does not select one or moresentences in a respective paragraph that includes the respectivesentence, that are adjacent to the respective sentence in the respectiveparagraph in a second direction that is different from the firstdirection). In other words, the expansion to include the sentence “Fusceposuere, magna sed pulvinar ultricies, purus lectus malesuada libero,sit amet commodo magna eros quis urna.” only goes in the directioncorresponding to the movement of the contact 1332, and does not expandto include in the reverse direction of the movement (e.g., asdistinguished from expansion to select the whole paragraph or moredescribed below). Thus, FIGS. 13L and 13M illustrate after a sentenceselection at time T₅, expanding the selection sentence by sentence in adirection in accordance with the finger movement 1332.

In FIG. 13N, continuing the example shown in FIG. 13L, in someembodiments, while the respective sentence “Nunc viverra imperdietenim.” is selected, the device detects a subsequent change in thecharacteristic intensity of the contact above the respective intensitythreshold (e.g., the selection-start intensity threshold) at time T₆. Inresponse to detecting the subsequent change in the characteristicintensity of the contact at time T₆, in accordance with a determinationthat the touch input meets the selection-cancellation criteria describedabove with respect to FIG. 13F, the device cancels selection of therespective sentence and displays the cursor 1322 at the end of theselection. Thus, FIGS. 13L and 13M illustrate after a deep press toselect a sentence at time T₅, in response to another deep press at timeT₆ (which is more than a threshold amount of time after T₅), thesentence selection is cancelled.

In FIG. 13O, following the deep press at time T₅, the device detects asubsequent change in the characteristic intensity of the contact abovethe respective intensity threshold (e.g., the selection-start intensitythreshold) at time T₆. In response to detecting the subsequent change inthe characteristic intensity of the contact at time T₆, in accordancewith a determination that the touch input 1324 (e.g., the subsequentchange in the characteristic intensity of the contact detected at timeT₆) meets paragraph-selection criteria (e.g., the paragraph-selectioncriteria include a movement criterion that is met when the contact movesless than the threshold amount within the threshold time period (e.g.,is substantially stationary) before (e.g., just before) the subsequentchange in intensity of the contact was detected at T₆ and a timecriterion that is met when an amount of time between when the deep pressis detected at time T₅ and when the subsequent change in thecharacteristic intensity of the contact is detected at time T₆ is lessthan the delay threshold), the device expands the selection to includethe (entire) respective paragraph that contains the respective sentence.Thus, FIGS. 13L and 13O illustrate after a deep press to select asentence at time T₅, in response to detecting another deep press thatmeets paragraph-selection criteria, the sentence selection is expandedto a paragraph containing the sentence.

In FIG. 13P, continuing the example shown in FIG. 13O, while therespective paragraph is selected, the device detects subsequent movementof the contact 1332 after time T₆. In response to detecting thesubsequent movement of the contact while the respective paragraph isselected, in accordance with a determination that the touch input (e.g.,the movement detected at time T₆) meets selection-expansion criteriadescribed above with respect to FIG. 13J, the device expands theselection to include a paragraph that is adjacent to the respectiveparagraph in a first direction (e.g., before or after the respectiveparagraph) in accordance with the subsequent movement of the contact1332.

For example, in FIG. 13P, the expansion of the selection does not selectone or more paragraph in a respective document that includes therespective paragraph, that are adjacent to the respective paragraph inthe respective document in a second direction that is different from thefirst direction. In other words, the expansion only goes in thedirection corresponding to the movement of the contact, and does notexpand to include in the reverse direction of the movement (e.g., asdistinguished from expansion to select the whole document describedbelow). Thus, FIGS. 13O and 13P illustrate after a paragraph selection,expanding the selection paragraph by paragraph in a direction inaccordance with the finger movement 1332.

In FIG. 13Q, continuing the example shown in FIG. 13O, while therespective paragraph is selected, the device detects a subsequent changein the characteristic intensity of the contact above the respectiveintensity threshold (e.g., the selection-start intensity threshold) attime T₇. In response to detecting the subsequent change in thecharacteristic intensity of the contact at time T₇, in accordance with adetermination that the touch input (e.g., the subsequent change in thecharacteristic intensity of the contact at T₇) meetsselection-cancellation criteria (e.g., the deep press detected at T₇ ismore than a threshold amount of time after the deep press detected atT₆) described above with respect to FIG. 13F, the device cancelsselection of the respective paragraph. Thus, FIGS. 13O and 13Qillustrate after a paragraph selection, in response to detecting asubsequent deep press that meets selection-cancellation criteria,cancelling the paragraph selection.

Though not shown in figures, continuing the example shown in FIG. 13O,while the respective paragraph is selected, the selected paragraph canbe expanded to the entire document that contains the selected paragraphin response to detecting a subsequent deep press at T₇ after time T₆.The subsequent deep press is a subsequent change in the characteristicintensity of the contact such that the subsequent change meetsdocument-selection criteria, which include a movement criterion that ismet when the contact moves less than the threshold amount within thethreshold time period (e.g., is substantially stationary) before (e.g.,just before) the subsequent deep press was detected, and a timecriterion that is met when an amount of time between when the deep pressis detected at time T₆ and when the subsequent deep press is detected atT₇ is less than the delay threshold.

FIGS. 14A-14H illustrate a flow diagram of method 1400 of contentmanipulation in accordance with some embodiments. Method 1400 isperformed at an electronic device (e.g., portable multifunction device100, FIG. 1A) with one or more processors, memory, and a display. Insome embodiments, the display is a touch-screen display and thetouch-sensitive surface is on or integrated with the display. In someembodiments, the display is separate from the touch-sensitive surface.Some operations in method 1400 are, optionally, combined and/or theorder of some operations is, optionally, changed.

As described below, method 1400 provides an efficient way to manipulatea cursor. The method reduces the cognitive burden on a user when using acursor, thereby creating a more efficient human-machine interface. Forbattery-operated electronic devices, enabling a user to manipulate acursor faster and more efficiently conserves power and increases thetime between battery charges.

The device concurrently displays (1402) an onscreen keyboard (e.g.,keyboard 1321, FIG. 13A) and a content presentation region (e.g., region1302, FIG. 13A) on the touch-sensitive display. In some embodiments, thecontent presentation region displays text input received from theonscreen keyboard (FIG. 13A). The device further detects (1404) a touchinput on the onscreen keyboard displayed on the touch-sensitive display(e.g., by finger contact 1324, FIG. 13A). In some embodiments, detectingthe touch input includes detecting movement of a contact (e.g., FIGS.13B and 13D etc.) and liftoff of the contact (e.g., FIGS. 13C and 13E).

In some embodiments, in response to detecting (1406) the touch input onthe onscreen keyboard displayed on the touch-sensitive display, inaccordance with a determination that the touch input satisfiestext-selection criteria, the text-selection criteria include a criterionthat is met when a characteristic intensity of the contact increasesabove a text-selection intensity threshold (e.g., a deep press withcontact characteristic intensity increases above ITS at time T₁, FIG.13B), the device performs (1408) a text selection operation based on themovement of the contact (FIGS. 13D-13Q). In some embodiments, thetext-selection criteria include (1410) a criterion that is met when thecontact does not move more than a threshold distance before detect anincrease in the characteristic intensity of the contact above thetext-selection intensity threshold (e.g., the finger contact 1324 issubstantially stationary at time T₁, there is less than a thresholdamount of movement between when touchdown of the contact 1324 isdetected on the onscreen keyboard and when the increase in thecharacteristic intensity of the contact over the text-selectionintensity threshold is detected at time T₁, FIG. 13B). In someembodiments, if more than the threshold amount of movement is detected,upon liftoff, a character entry operation is performed based on whichcharacter entry key the contact is over when liftoff of the contact isdetected. In some embodiments, the text-selection operation includes(1412) one of: moving a cursor within the content region (as shown inFIG. 13B) or selecting text within the content region (e.g., as shown inFIGS. 13D-13Q).

In addition to text-selection operations, in response to detecting(1406) the touch input on the onscreen keyboard displayed on thetouch-sensitive display and in accordance with a determination that thetouch input satisfies text-entry criteria (e.g., as shown in FIG. 13A),the text-entry criteria include a criterion that is met when thecharacteristic intensity of the contact does not increase above thetext-selection intensity threshold, the device enters (1414) text intothe content presentation region based on the touch input (e.g., enteringtext when the contact characteristic intensity does not increase aboveITS, FIG. 13A). In some embodiments, the text-entry criteria include(1416) a criterion that is met when the liftoff of the contact isdetected while the contact is at a location of a character key of theonscreen keyboard. In some embodiments, the text-entry criteria include(1418) a criterion that is met when the contact does not move outside ofthe onscreen keyboard before liftoff of the contact is detected. In someembodiments, entering the text into the content region includes (1420)entering a character that corresponds to character key at a location atwhich touchdown of the contact was detected on the onscreen keyboard(e.g., entering character “h” when a touchdown of the contact 1324 isdetected, FIG. 13A). In some embodiments, entering the text into thecontent region includes (1422) entering a character that corresponds tocharacter key at a location at which liftoff of the contact was detectedon the onscreen keyboard (e.g., entering character “h” when a liftoff ofthe contact 1324 is detected, FIG. 13A).

In some embodiments, in response to detecting that the text-selectioncriteria have been met, the device generates (1424) a tactile output(e.g., with one or more tactile output generating components of thedevice, 167 in FIG. 2A and/or 257 in FIG. 2B) that is indicative of anentry into a text selection mode of operation. In some embodiments, thetactile output that is indicative of entry into the text selection modeof operation is different from the tactile output that is generated whena device alert such as a notification of an incoming message is providedby the device.

In some embodiments, in response to detecting that the text-selectioncriteria have been met, the device changes (1426) an appearance of theonscreen keyboard to indicate that the device is operating in a textselection mode of operation. In some embodiments, changing theappearance of the onscreen keyboard includes obscuring an appearance ofcharacters on keys of the onscreen keyboard (e.g., blurring in FIG. 9N,fading, and/or removing the characters on the key caps in FIG. 13B). Insome embodiments, an indication of a location of the keys is maintainedwhile the appearance of the characters is obscured (e.g., by maintainingdisplay of the shapes of some or all of the keys on the keyboard whileremoving or blurring the characters on the key caps and the drop shadowsof the key caps, FIG. 13B). In some embodiments, the device ends (1428)the text selection mode of operation (e.g., detecting liftoff of thecontact and, in response to detecting liftoff of the contact, exitingthe text selection mode of operation, FIGS. 13C and 13E) and, inconjunction with the end of the text selection mode of operation, thedevice reverses the change in appearance of the onscreen keyboard toreveal the characters on the keys of the onscreen keyboard (e.g.,reversing a fading, blurring of the keyboard to indicate that the deviceis no longer in the text selection mode of operation, FIGS. 13C and13E).

In some embodiments, when the touch input satisfies the text-selectioncriteria, the device detects (1430) movement of the contact after thetouch input has satisfied the text-selection criteria and moving acursor (FIG. 13B) in the content region in accordance with the movementof the contact detected after the touch input has satisfied thetext-selection criteria. In some embodiments, instead of displaying acursor and moving the cursor, a ghost cursor and a floating cursor aredisplayed and moved in the content region in accordance with themovement of the contact, as described in greater detail above withrespect to FIGS. 9B-9D.

In some embodiments, when the touch input satisfies the text-selectioncriteria, the device detects (1432) a first subsequent change (e.g., adeep press at time T₂, FIG. 13D) in the characteristic intensity of thecontact (optionally, after first detecting a decrease in intensity ofthe contact to an intensity below the text-selection intensitythreshold) followed by additional movement of the contact on thetouch-sensitive display. In response to detecting (1434) the firstsubsequent change in the characteristic intensity of the contact and inaccordance with a determination that the touch input satisfiesselection-start criteria, the selection-start criteria include acriterion that is met when the characteristic intensity of the contactincreases above a selection-start intensity threshold (e.g., a thresholdthat is the same as, greater than, or less than the text-selectionintensity threshold IT_(D) before the movement of the contact isdetected, FIG. 13D), the device starts (1436) to select content in thecontent region at a location of a cursor in accordance with theadditional movement of the contact (e.g., starting the selection at thelocation of the cursor and expand the selection character by characterin accordance with the movement of the contact as shown in FIG. 13G; orstart selection at the word at the location of the cursor, and expandthe selection word by word in accordance with the movement of thecontact as shown in FIGS. 13H and 13J). On the other hand, in accordancewith a determination that the touch input does not satisfy theselection-start criteria, the device moves the cursor in accordance withthe additional movement of the contact without starting to selectcontent in the content region (FIG. 13B). In some embodiments, theselection-start criteria are met when an increase in intensity of thecontact is detected while the contact is substantially stationary (e.g.,moves not more than a threshold distance within a threshold amount oftime before the characteristic intensity of the contact increases abovethe selection-start intensity threshold).

In some embodiments, when the touch input satisfies selection-startcriteria, after starting to select content in the content region, thedevice detects (1438) liftoff of the contact from the touch-sensitivedisplay and confirms the selection in response to detecting the liftoffof the contact (e.g., as shown in FIG. 13E).

Alternatively, when the touch input satisfies selection-start criteria,after starting to select content in the content region, and whilecontinuing to detect the contact on the touch-sensitive display, thedevice detects (1440) a second subsequent change in intensity of thecontact (e.g., a deep press at time T₃ in FIG. 13F). In response todetecting (1442) the second subsequent change in the characteristicintensity of the contact and in accordance with a determination that thesecond subsequent change in the characteristic intensity of the contactsatisfies selection-cancellation criteria, the selection-cancellationcriteria include a criterion that is met when the characteristicintensity of the contact increases above a selection-cancellationintensity threshold (e.g., a threshold that is the same as, greaterthan, or less than the text-selection intensity threshold and/or theselection-start intensity threshold ITS), the device cancels (1444) theselection (e.g., deselecting the selected content and redisplaying thecursor, as shown in FIG. 13F). On the other hand, in response todetecting the second subsequent change in the characteristic intensityof the contact and in accordance with a determination that the secondsubsequent change in the characteristic intensity of the contact doesnot satisfy the selection-cancellation criteria (e.g., if the contactdid not reach the selection-cancellation intensity threshold and/or thecontact was not substantially stationary when the selection-cancellationintensity threshold was reached), the device maintains the selection(e.g., and expanding the selection or contracting the selection inaccordance with continued movement of the contact on the touch-sensitivedisplay, as shown in FIG. 13D). In some embodiments, theselection-cancellation criterion include (1446) a criterion that is metwhen the contact moves no more than a threshold distance within athreshold amount of time before the characteristic intensity of thecontact increases above the selection-cancellation intensity threshold.

In some embodiments, in response to detecting that theselection-cancellation criteria have been met, the device generates(1448) a tactile output (e.g., with one or more tactile outputgenerating components of the device, 167 in FIG. 2A and/or 257 in FIG.2B) that is indicative of an exit from the text selection mode ofoperation. In some embodiments, the tactile output that is indicative ofexit from the text selection mode of operation is different from thetactile output that is generated when a device alert such as anotification of an incoming message is provided by the device. In someembodiments, this tactile output is not generated when correspondingselection cancellation operations are performed in the text (as opposedto being performed on the keyboard).

In some embodiments, after canceling the selection, and while continuingto detect the contact on the touch-sensitive display, the device detects(1450) a third subsequent change in the characteristic intensity of thecontact (e.g., a deep press at time T₄ in FIG. 13G). In response todetecting (1452) the third subsequent change in the characteristicintensity of the contact and in accordance with a determination that thetouch input (e.g., the third subsequent change in the characteristicintensity of the contact) satisfies the selection-start criteria, thedevice starts (1454) to select content in the content region at alocation of the cursor (as shown in FIG. 13G). On the other hand, inresponse to detecting the third subsequent change in the characteristicintensity of the contact and in accordance with a determination that thetouch input (e.g., the third subsequent change in the characteristicintensity of the contact) does not satisfy the selection-start criteria,the device forgoes starting to select content in the content region.

In some embodiments, starting to select content in response to detectingthe third subsequent change in the characteristic intensity of thecontact includes (1456) selecting a respective word at the location ofthe cursor (as shown in FIG. 13H). For example, after the cancelation ofthe selection (e.g., in response to a deep press at time T₃ in FIG.13F), when the third subsequent change includes an increase in thecharacteristic intensity of the contact above the selection-startintensity threshold (e.g., a deep press at time T₄ in FIG. 13H), a wordis selected at the location of the cursor (as shown in FIG. 13H).

In some embodiments, the selected respective word is (1458) a first word(e.g., the word “enim” is the selected first word, FIG. 13H). In someembodiments, while the first word is selected, the device detects firstsubsequent movement of the contact (13I). In response to detecting thefirst subsequent movement of the contact while the first word isselected and in accordance with a determination that the touch inputmeets selection-movement criteria which includes a movement criterionthat is met when the contact moves more than a respective thresholdamount (e.g., the contact is not substantially stationary and optionallya respective time criterion that is met when an amount of time betweenthe third subsequent change in the characteristic intensity of thecontact is detected and when the first subsequent movement of thecontact is detected is less than a respective delay threshold), thedevice cancels selection of the first word and selects a second wordthat is adjacent to the first word in a first direction (e.g., before orafter the respective word) in accordance with the first subsequentmovement of the contact, such that the selected respective word is thesecond word (e.g., as shown in FIG. 13I).

In some embodiments, instead of selecting a second word that is adjacentto the first word, while the respective word is selected (e.g., as shownin FIG. 13H), the device detects (1460) first subsequent movement of thecontact (e.g., as shown in FIG. 13J). In response to detecting the firstsubsequent movement of the contact while the respective word is selectedand in accordance with a determination that the touch input meetsselection-expansion criteria which includes a movement criterion that ismet when the contact moves more than a respective threshold amount(e.g., the contact is not substantially stationary and optionally arespective time criterion that is met when an amount of time between thethird subsequent change in the characteristic intensity of the contactis detected and when the first subsequent movement of the contact isdetected is less than a respective delay threshold), the device expandsthe selection to include a word that is adjacent to the respective wordin a first direction (e.g., before or after the respective word) inaccordance with the first subsequent movement of the contact (e.g., asshown in FIG. 13J).

In some embodiments, instead of selecting a second word that is adjacentto the first word or expanding the selection word by word in respect todetecting a subsequent movement of the contact, while the respectiveword is selected, the device detects (1462) a fourth subsequent change(e.g., a deep press at time T₅, as shown in FIG. 13K) in thecharacteristic intensity of the contact above a respective intensitythreshold (e.g., the selection-cancellation intensity threshold). Inresponse to detecting the fourth subsequent change in the characteristicintensity of the contact, in accordance with a determination that thetouch input (e.g., the fourth subsequent change in the characteristicintensity of the contact at time T₅) meets the selection-cancellationcriteria, which includes a criterion that is met when the amount of timebetween when the third subsequent change in the characteristic intensityof the contact is detected and when the fourth subsequent change in thecharacteristic intensity of the contact is detected is greater than thedelay threshold (e.g., and, optionally, that the contact issubstantially stationary), the device cancels selection of therespective word (e.g., as shown in FIG. 13K).

In some embodiments, instead of canceling a selected word in response toa fourth subsequent change in the characteristic intensity of thecontact above a respective intensity threshold, while the respectiveword is selected, the device detects (1464) a fourth subsequent change(e.g., a deep press at time T₅, FIG. 13L) in the characteristicintensity of the contact above a respective intensity threshold (e.g.,the sentence-selection intensity threshold). In response to detectingthe fourth subsequent change in the characteristic intensity of thecontact, in accordance with a determination that the touch input (e.g.,the fourth subsequent change in the characteristic intensity of thecontact at time T₅) meets sentence-selection criteria which include amovement criterion that is met when the contact moves less than athreshold amount within a threshold time period (e.g., the contact issubstantially stationary) before (e.g., just before) the fourthsubsequent change in intensity of the contact was detected and a timecriterion that is met when an amount of time between when the thirdsubsequent change in the characteristic intensity of the contact isdetected and when the fourth subsequent change in the characteristicintensity of the contact is detected is less than a delay threshold, thedevice expands the selection to include the (entire) respective sentencethat contains the respective word (e.g., as shown in FIG. 13L).

In some embodiments, while the respective sentence is selected, thedevice detects (1466) second subsequent movement of the contact (e.g.,as shown in FIG. 13M). In response to detecting the second subsequentmovement of the contact while the respective sentence is selected: inaccordance with a determination that the touch input meetsselection-expansion criteria which includes a movement criterion that ismet when the contact moves more than a respective threshold amount(e.g., the contact is not substantially stationary and optionally arespective time criterion that is met when an amount of time between thefourth subsequent change in the characteristic intensity of the contactis detected and when the second subsequent movement of the contact isdetected is less than a respective delay threshold), the device expandsthe selection to include a sentence that is adjacent to the respectivesentence in a first direction (e.g., before or after the respectivesentence) in accordance with the second subsequent movement of thecontact (e.g., the expansion of the selection does not select one ormore sentences in a respective paragraph that includes the respectivesentence, that are adjacent to the respective sentence in the respectiveparagraph in a second direction that is different from the firstdirection (e.g., as shown in FIG. 13M).

In some embodiments, instead of expanding the sentence selection inresponse to a subsequent movement of the contact, while the respectivesentence is selected, the device detects (1468) a fifth subsequentchange in the characteristic intensity of the contact above therespective intensity threshold (e.g., the selection-start intensitythreshold) (e.g., as shown in FIG. 13N). In response to detecting thefifth subsequent change in the characteristic intensity of the contact,in accordance with a determination that the touch input meets theselection-cancellation criteria, which includes a criterion that is metwhen the amount of time between when the fourth subsequent change in thecharacteristic intensity of the contact is detected and when the fifthsubsequent change in the characteristic intensity of the contact isdetected is greater than the delay threshold (e.g., and, optionally,that the contact is substantially stationary), the device cancelsselection of the respective sentence (e.g., as shown in FIG. 13N).

In some embodiments, instead of canceling the sentence selection, inresponse to detecting a subsequent change in the characteristicintensity of the contact, in response to detecting the fifth subsequentchange in the characteristic intensity of the contact, in accordancewith a determination that the touch input meets paragraph-selectioncriteria which include a movement criterion that is met when the contactmoves less than the threshold amount within the threshold time period(e.g., is substantially stationary) before (e.g., just before) the fifthsubsequent change in intensity of the contact was detected and a timecriterion that is met when an amount of time between when the fourthsubsequent change in the characteristic intensity of the contact isdetected and when the fifth subsequent change in the characteristicintensity of the contact is detected is less than the delay threshold,the device expands (1470) the selection to include the (entire)respective paragraph that contains the respective sentence (e.g., asshown in FIG. 13O).

In some embodiments, while the respective paragraph is selected, thedevice detects (1472) third subsequent movement of the contact. Inresponse to detecting the third subsequent movement of the contact whilethe respective paragraph is selected: in accordance with a determinationthat the touch input meets selection-expansion criteria which includes amovement criterion that is met when the contact moves more than arespective threshold amount, the device expands the selection to includea paragraph that is adjacent to the respective paragraph in a firstdirection in accordance with the third subsequent movement of thecontact (e.g., as shown in FIG. 13P).

In some embodiments, the respective paragraph is selected in response tothe fifth subsequent change in the characteristic intensity of thecontact. While the respective paragraph is selected: the device detects(1474) a sixth subsequent change in the characteristic intensity of thecontact above the respective intensity threshold; and, in response todetecting the sixth subsequent change in the characteristic intensity ofthe contact, in accordance with a determination that the touch inputmeets selection-cancellation 138-156 criteria, which includes acriterion that is met when the amount of time between when the fifthsubsequent change in the characteristic intensity of the contact isdetected and when the sixth subsequent change in the characteristicintensity of the contact is detected is greater than the delaythreshold, the device cancels selection of the respective paragraph(e.g., as shown in FIG. 13Q).

In some embodiments, in response to detecting the sixth subsequentchange in the characteristic intensity of the contact, in accordancewith a determination that the touch input meets document selectioncriteria which include a movement criterion that is met when the contactmoves less than the threshold amount within the threshold time periodbefore the sixth subsequent change in intensity of the contact wasdetected and a time criterion that is met when an amount of time betweenwhen the fifth subsequent change in the characteristic intensity of thecontact is detected and when the sixth subsequent change in thecharacteristic intensity of the contact is detected is less than thedelay threshold, the device expands (1476) the selection to include therespective document that contains the respective paragraph.

It should be understood that the particular order in which theoperations in FIGS. 14A-14H have been described is merely exemplary andis not intended to indicate that the described order is the only orderin which the operations could be performed. One of ordinary skill in theart would recognize various ways to reorder the operations describedherein. Additionally, it should be noted that details of other processesdescribed herein with respect to other methods described herein (e.g.,methods 400, 1000, and 1100) are also applicable in an analogous mannerto method 1400 described above with respect to FIGS. 14A-14H. Forexample, the contacts, gestures, user interface objects, intensitythresholds, and/or animations described above with reference to method1400 optionally have one or more of the characteristics of the contacts,gestures, user interface objects, intensity thresholds, and/oranimations described herein with reference to other methods describedherein (e.g., methods 400, 1000, and 1100). For brevity, these detailsare not repeated here.

In accordance with some embodiments, FIG. 15 shows a functional blockdiagram of an electronic device 1500 configured in accordance with theprinciples of the invention as described above. The functional blocks ofthe device may be implemented by hardware, software, or a combination ofhardware and software to carry out the principles of the invention. Itis understood by persons of skill in the art that the functional blocksdescribed in FIG. 15 may be combined or separated into sub-blocks toimplement the principles of the invention as described above. Therefore,the description herein may support any possible combination orseparation or further definition of the functional blocks describedherein.

In some embodiments, the electronic device 1500 includes a display unit1502 configured to concurrently display an onscreen keyboard and acontent presentation region on the display unit 1502, wherein thecontent presentation region displays text input received from theonscreen keyboard; a touch-sensitive surface unit 1504 configured toreceive user touch inputs; one or more sensor units 1506 to detectintensity of contacts with the touch-sensitive surface unit 1504; and aprocessing unit 1508 coupled to the display unit 1502, thetouch-sensitive surface unit 1504, and the one or more sensor units1506. In some embodiments, the processing unit 1508 includes a detectingunit 1510, a selecting unit 1512, a moving unit 1514, a determining unit1516, and a changing appearance unit 1518.

In some embodiments, the processing unit 1208 is configured to: inaccordance with the determination that the touch input satisfies the oneor more criteria for entering the text selection mode: visually obscurekeys on the onscreen keyboard (e.g., with the obscuring unit 1218).

The processing unit 1508 is configured to: detect (e.g., with detectingunit 1510) a touch input on the onscreen keyboard displayed on thetouch-sensitive display. In some embodiments, detect (e.g., withdetecting unit 1510) the touch input includes detect (e.g., withdetecting unit 1510) movement of a contact and liftoff of the contact.The processing unit 1508 is also configured to: in response to detectingthe touch input on the onscreen keyboard displayed on thetouch-sensitive display, in accordance with a determination (e.g., withdetermining unit 1516) that the touch input satisfies text-selectioncriteria, the text-selection criteria include a criterion that is metwhen a characteristic intensity of the contact increases above atext-selection intensity threshold, perform a text selection operation(e.g., with selecting unit 1512) based on the movement of the contact.Conversely, in accordance with a determination (e.g., with determiningunit 1516) that the touch input satisfies text-entry criteria, thetext-entry criteria include a criterion that is met when thecharacteristic intensity of the contact does not increase above thetext-selection intensity threshold, the processing unit 1508 isconfigured to enter text into the content presentation region based onthe touch input.

In some embodiments, the text-entry criteria include a criterion that ismet when the liftoff of the contact is detected while the contact is ata location of a character key of the onscreen keyboard.

In some embodiments, the text-entry criteria include a criterion that ismet when the contact does not move outside of the onscreen keyboardbefore liftoff of the contact is detected.

In some embodiments, enter the text into the content region includesenter a character that corresponds to character key at a location atwhich touchdown of the contact was detected on the onscreen keyboard.

In some embodiments, enter the text into the content region includesenter a character that corresponds to character key at a location atwhich liftoff of the contact was detected on the onscreen keyboard.

In some embodiments, the text-selection criteria include a criterionthat is met when the contact does not move more than a thresholddistance before detecting an increase in the characteristic intensity ofthe contact above the text-selection intensity threshold.

In some embodiments, the text-selection operation includes one of:moving a cursor within the content region or selecting text within thecontent region.

In some embodiments, the processing unit 1508 is configured to, inresponse to detecting that the text-selection criteria have been met,generate a tactile (e.g., with tactile output generator(s) 167, FIG. 2Aor tactile output generator(s) 257, FIG. 2B) output that is indicativeof an entry into a text selection mode of operation.

In some embodiments, the processing unit 1508 is configured to, inresponse to detecting that the text-selection criteria have been met,change an appearance (e.g., with changing appearance unit 1518) of theonscreen keyboard to indicate that the device is operating in a textselection mode of operation. In some embodiments, change the appearance(e.g., with changing appearance unit 1518) of the onscreen keyboardincludes obscure an appearance (e.g., with changing appearance unit1518) of characters on keys of the onscreen keyboard.

In some embodiments, the processing unit 1508 is configured to end thetext selection mode of operation and, in conjunction with the end of thetext selection mode of operation, reverse the change in appearance(e.g., with changing appearance unit 1518) of the onscreen keyboard toreveal the characters on the keys of the onscreen keyboard.

In some embodiments, the processing unit 1508 is configured to, when thetouch input satisfies the text-selection criteria, detect (e.g., withdetecting unit 1510) movement of the contact after the touch input hassatisfied the text-selection criteria and move (e.g., with moving unit1514) a cursor in the content region in accordance with the movement ofthe contact detected after the touch input has satisfied thetext-selection criteria.

In some embodiments, the processing unit 1508 is configured to, when thetouch input satisfies the text-selection criteria, detect (e.g., withdetecting unit 1510) a first subsequent change in the characteristicintensity of the contact followed by additional movement of the contacton the touch-sensitive display; and, in response to detecting the firstsubsequent change in the characteristic intensity of the contact, inaccordance with a determination (e.g., with determining unit 1516) thatthe touch input satisfies selection-start criteria, the selection-startcriteria include a criterion that is met when the characteristicintensity of the contact increases above a selection-start intensitythreshold, the processing unit 1508 is configured to start to select(e.g., with selecting unit 1512) content in the content region at alocation of a cursor in accordance with the additional movement of thecontact. Conversely, in accordance with a determination (e.g., withdetermining unit 1516) that the touch input does not satisfy theselection-start criteria, the processing unit 1508 is configured to move(e.g., with moving unit 1514) the cursor in accordance with theadditional movement of the contact without starting to select content inthe content region.

In some embodiments, the processing unit 1508 is configured to: when thetouch input satisfies selection-start criteria, after starting to selectcontent in the content region, detect (e.g., with detecting unit 1510)liftoff of the contact from the touch-sensitive display and confirm theselection (e.g., with selecting unit 1512) in response to detecting theliftoff of the contact.

In some embodiments, the processing unit 1508 is configured to: when thetouch input satisfies selection-start criteria, after starting to selectcontent in the content region, and while continuing to detect (e.g.,with detecting unit 1510) the contact on the touch-sensitive display,detect (e.g., with detecting unit 1510) a second subsequent change inintensity of the contact. In response to detecting the second subsequentchange in the characteristic intensity of the contact, in accordancewith a determination (e.g., with determining unit 1516) that the secondsubsequent change in the characteristic intensity of the contactsatisfies selection-cancellation criteria, the selection-cancellationcriteria include a criterion that is met when the characteristicintensity of the contact increases above a selection-cancellationintensity threshold, the processing unit 1508 is configured to cancelthe selection (e.g., with selecting unit 1512). Conversely, inaccordance with a determination (e.g., with determining unit 1516) thatthe second subsequent change in the characteristic intensity of thecontact does not satisfy the selection-cancellation criteria, theprocessing unit 1508 is configured to maintain the selection (e.g., withselecting unit 1512).

In some embodiments, the selection-cancellation criterion include acriterion that is met when the contact moves no more than a thresholddistance within a threshold amount of time before the characteristicintensity of the contact increases above the selection-cancellationintensity threshold.

In some embodiments, the processing unit 1508 is configured to, inresponse to detecting that the selection-cancellation criteria have beenmet, generate a tactile (e.g., with tactile output generator(s) 167,FIG. 2A or tactile output generator(s) 257, FIG. 2B) output that isindicative of an exit from the text selection mode of operation.

In some embodiments, the processing unit 1508 is configured to: aftercanceling the selection, and while continuing to detect (e.g., withdetecting unit 1510) the contact on the touch-sensitive display, detect(e.g., with detecting unit 1510) a third subsequent change in thecharacteristic intensity of the contact. In response to detecting thethird subsequent change in the characteristic intensity of the contact,in accordance with a determination (e.g., with determining unit 1516)that the touch input satisfies the selection-start criteria, theprocessing unit 1508 is configured to start to select (e.g., withselecting unit 1512) content in the content region at a location of thecursor. Conversely, in accordance with a determination (e.g., withdetermining unit 1516) that the touch input does not satisfy theselection-start criteria, the processing unit 1508 is configured toforgo starting to select content (e.g., with selecting unit 1512) in thecontent region.

In some embodiments, start to select (e.g., with selecting unit 1512)content in response to detecting the third subsequent change in thecharacteristic intensity of the contact includes select (e.g., withselecting unit 1512) a respective word at the location of the cursor.

In some embodiments, the selected respective word is a first word, andthe processing unit 1508 is configured to, while the first word isselected, detect (e.g., with detecting unit 1510) first subsequentmovement of the contact. In response to detecting the first subsequentmovement of the contact while the first word is selected, in accordancewith a determination (e.g., with determining unit 1516) that the touchinput meets selection-movement criteria which includes a movementcriterion that is met when the contact move (e.g., with moving unit1514)s more than a respective threshold amount, the processing unit 1508is configured to cancel selection (e.g., with selecting unit 1512) ofthe first word, and select (e.g., with selecting unit 1512) a secondword that is adjacent to the first word in a first direction inaccordance with the first subsequent movement of the contact, such thatthe selected respective word is the second word.

In some embodiments, the processing unit 1508 is configured to, whilethe respective word is selected, detect (e.g., with detecting unit 1510)first subsequent movement of the contact. In response to detecting thefirst subsequent movement of the contact while the respective word isselected, in accordance with a determination (e.g., with determiningunit 1516) that the touch input meets selection-expansion criteria whichincludes a movement criterion that is met when the contact moves morethan a respective threshold amount, the processing unit 1508 isconfigured to expand the selection (e.g., with selecting unit 1512) toinclude a word that is adjacent to the respective word in a firstdirection in accordance with the first subsequent movement of thecontact.

In some embodiments, the processing unit 1508 is configured to, whilethe respective word is selected, detect (e.g., with detecting unit 1510)a fourth subsequent change in the characteristic intensity of thecontact above a respective intensity threshold. In response to detectingthe fourth subsequent change in the characteristic intensity of thecontact, in accordance with a determination (e.g., with determining unit1516) that the touch input meets the selection-cancellation criteria,which includes a criterion that is met when the amount of time betweenwhen the third subsequent change in the characteristic intensity of thecontact is detected and when the fourth subsequent change in thecharacteristic intensity of the contact is detected is greater than thedelay threshold, the processing unit 1508 is configured to cancelselection (e.g., with selecting unit 1512) of the respective word.

In some embodiments, the processing unit 1508 is configured to, whilethe respective word is selected, detect (e.g., with detecting unit 1510)a fourth subsequent change in the characteristic intensity of thecontact above a respective intensity threshold. In response to detectingthe fourth subsequent change in the characteristic intensity of thecontact, in accordance with a determination (e.g., with determining unit1516) that the touch input meets sentence-selection criteria whichinclude a movement criterion that is met when the contact move (e.g.,with moving unit 1514)s less than a threshold amount within a thresholdtime period before the fourth subsequent change in intensity of thecontact was detected and a time criterion that is met when an amount oftime between when the third subsequent change in the characteristicintensity of the contact is detected and when the fourth subsequentchange in the characteristic intensity of the contact is detected isless than a delay threshold, the processing unit 1508 is configured toexpand the selection (e.g., with selecting unit 1512) to include therespective sentence that contains the respective word.

In some embodiments, the processing unit 1508 is configured to, whilethe respective sentence is selected, detect (e.g., with detecting unit1510) second subsequent movement of the contact. In response todetecting the second subsequent movement of the contact while therespective sentence is selected, in accordance with a determination(e.g., with determining unit 1516) that the touch input meetsselection-expansion criteria which includes a movement criterion that ismet when the contact move (e.g., with moving unit 1514)s more than arespective threshold amount, the processing unit 1508 is configured toexpand the selection (e.g., with selecting unit 1512) to include asentence that is adjacent to the respective sentence in a firstdirection in accordance with the second subsequent movement of thecontact.

In some embodiments, the respective sentence is selected in response tothe fourth subsequent change in the characteristic intensity of thecontact and the processing unit 1508 is configured to, while therespective sentence is selected: detect (e.g., with detecting unit 1510)a fifth subsequent change in the characteristic intensity of the contactabove the respective intensity threshold. In response to detecting thefifth subsequent change in the characteristic intensity of the contact,in accordance with a determination (e.g., with determining unit 1516)that the touch input meets the selection-cancellation criteria, whichincludes a criterion that is met when the amount of time between whenthe fourth subsequent change in the characteristic intensity of thecontact is detected and when the fifth subsequent change in thecharacteristic intensity of the contact is detected is greater than thedelay threshold, the processing unit 1508 is configured to cancelselection (e.g., with selecting unit 1512) of the respective sentence.

In some embodiments, the processing unit 1508 is configured to, inresponse to detecting the fifth subsequent change in the characteristicintensity of the contact, in accordance with a determination (e.g., withdetermining unit 1516) that the touch input meets paragraph-selectioncriteria which include a movement criterion that is met when the contactmove (e.g., with moving unit 1514)s less than the threshold amountwithin the threshold time period before the fifth subsequent change inintensity of the contact was detected and a time criterion that is metwhen an amount of time between when the fourth subsequent change in thecharacteristic intensity of the contact is detected and when the fifthsubsequent change in the characteristic intensity of the contact isdetected is less than the delay threshold, the processing unit 1508 isconfigured to expand the selection (e.g., with selecting unit 1512) toinclude the respective paragraph that contains the respective sentence.

In some embodiments, the processing unit 1508 is configured to, whilethe respective paragraph is selected, detecting third subsequentmovement of the contact. In response to detecting the third subsequentmovement of the contact while the respective paragraph is selected, inaccordance with a determination (e.g., with determining unit 1516) thatthe touch input meets selection-expansion criteria which includes amovement criterion that is met when the contact move (e.g., with movingunit 1514)s more than a respective threshold amount, expand theselection (e.g., with selecting unit 1512) to include a paragraph thatis adjacent to the respective paragraph in a first direction inaccordance with the third subsequent movement of the contact.

In some embodiments, the respective paragraph is selected in response tothe fifth subsequent change in the characteristic intensity of thecontact and the processing unit 1508 is configured to, while therespective paragraph is selected, detect (e.g., with detecting unit1510) a sixth subsequent change in the characteristic intensity of thecontact above the respective intensity threshold. In response todetecting the sixth subsequent change in the characteristic intensity ofthe contact, in accordance with a determination (e.g., with determiningunit 1516) that the touch input meets selection-cancellation criteria,which includes a criterion that is met when the amount of time betweenwhen the fifth subsequent change in the characteristic intensity of thecontact is detected and when the sixth subsequent change in thecharacteristic intensity of the contact is detected is greater than thedelay threshold, the processing unit 1508 is configured to cancelselection (e.g., with selecting unit 1512) of the respective paragraph.

In some embodiments, the processing unit 1508 is configured to, inresponse to detecting the sixth subsequent change in the characteristicintensity of the contact, in accordance with a determination (e.g., withdetermining unit 1516) that the touch input meets document selectioncriteria which include a movement criterion that is met when the contactmove (e.g., with moving unit 1514)s less than the threshold amountwithin the threshold time period before the sixth subsequent change inintensity of the contact was detected and a time criterion that is metwhen an amount of time between when the fifth subsequent change in thecharacteristic intensity of the contact is detected and when the sixthsubsequent change in the characteristic intensity of the contact isdetected is less than the delay threshold, the processing unit 1508 isconfigured to expand the selection (e.g., with selecting unit 1512) toinclude the respective document that contains the respective paragraph.

The foregoing description, for purpose of explanation, has beendescribed with reference to specific embodiments. However, theillustrative discussions above are not intended to be exhaustive or tolimit the invention to the precise forms disclosed. Many modificationsand variations are possible in view of the above teachings. Theembodiments were chosen and described in order to best explain theprinciples of the invention and its practical applications, to therebyenable others skilled in the art to best use the invention and variousdescribed embodiments with various modifications as are suited to theparticular use contemplated.

What is claimed is:
 1. A method of selection manipulation, comprising:at a portable multifunction device including one or more processors,memory, and a touch screen display: displaying content of an electronicdocument on the display; detecting a selection input corresponding toselection of a respective portion of the content; in response todetecting the selection input, changing an appearance of the respectiveportion of the content to indicate that the respective portion of thecontent has been selected, wherein the respective portion of the contentthat has been selected comprises selected content, and concurrentlydisplaying the selected content with the changed appearance and a set ofoptions related to the selected content; while concurrently displayingthe selected content with the changed appearance and the set of optionsrelated to the selected content, detecting a single touch input on thetouch screen display at a location over the selected content; and inresponse to detecting the single touch input at the location, inaccordance with a determination that the single touch input remains,during a first portion of the single touch input, at the location for apredetermined amount of time, followed, during a second portion of thesingle touch input, by a continuous touch gesture away from thelocation, moving a representation of the selected content to a differentlocation in a direction of the continuous touch gesture.
 2. The methodof claim 1, including, in response to detecting the single touch input,cease to display the set of options related to the selected content. 3.The method of claim 1, wherein displaying the selected content with thechanged appearance includes concurrently displaying a start-point objectand an end-point object at respective ends of the selected content. 4.The method of claim 3, wherein the representation of the selectedcontent that is moved to the different location comprises a ghostrepresentation of the selected content, and moving the ghostrepresentation of the selected content includes moving the ghostrepresentation of the selected content offset from selected content in adirection of the continuous touch gesture to indicate a position towhere the selected content will be moved when the continuous touchgesture terminates.
 5. The method of claim 4, wherein the ghostrepresentation of the selected content has a different appearance fromthe selected content with the changed appearance.
 6. The method of claim4, wherein the ghost representation of the selected content includes aghost start-point object and a ghost-end-point object different from thestart-point object and the end-point object of the selected content. 7.The method of claim 1, wherein the set of options related to theselected content includes a first affordance for cutting the selectedcontent and a second affordance for copying the selected content.
 8. Themethod of claim 7, wherein the set of options related to the selectedcontent includes a third affordance for pasting a previously cut orcopied selection of content.
 9. The method of claim 7, wherein the setof options related to the selected content includes an affordance fordisplaying additional command options, or an affordance for presenting adefinition of a word in the selected content.
 10. The method of claim 1,wherein determining if the single touch input remains at the locationfor the predetermined amount of time includes determining that thesingle touch input moves no more than a threshold distance within athreshold amount of time.
 11. An electronic device, comprising: a touchscreen display; one or more processors; memory; and one or moreprograms, wherein the one or more programs are stored in the memory andconfigured to be executed by the one or more processors, the one or moreprograms including instructions for: displaying content of an electronicdocument on the display; detecting a selection input corresponding toselection of a respective portion of the content; in response todetecting the selection input, changing an appearance of the respectiveportion of the content to indicate that the respective portion of thecontent has been selected, wherein the respective portion of the contentthat has been selected comprises selected content, and concurrentlydisplaying the selected content with the changed appearance and a set ofoptions related to the selected content; while concurrently displayingthe selected content with the changed appearance and the set of optionsrelated to the selected content, detecting a single touch input on thetouch screen display at a location over the selected content; and inresponse to detecting the single touch input at the location, inaccordance with a determination that the single touch input remains,during a first portion of the single touch input, at the location for apredetermined amount of time, followed, during a second portion of thesingle touch input, by a continuous touch gesture away from thelocation, moving a representation of the selected content to a differentlocation in a direction of the continuous touch gesture.
 12. Anon-transitory computer readable storage medium storing one or moreprograms, the one or more programs comprising instructions, which whenexecuted by an electronic device with a touch screen display, cause thedevice to: display content of an electronic document on the display;detect a selection input corresponding to selection of a respectiveportion of the content; in response to detecting the selection input,change an appearance of the respective portion of the content toindicate that the respective portion of the content has been selected,wherein the respective portion of the content that has been selectedcomprises selected content, and concurrently display the selectedcontent with the changed appearance and a set of options related to theselected content; while concurrently displaying the selected contentwith the changed appearance and the set of options related to theselected content, detect a single touch input on the touch screendisplay at a location over the selected content; and in response todetecting the single touch input at the location, in accordance with adetermination that the single touch input remains, during a firstportion of the single touch input, at the location for a predeterminedamount of time, followed, during a second portion of the single touchinput, by a continuous touch gesture away from the location, move arepresentation of the selected content to a different location in adirection of the continuous touch gesture.